如何理解我在iframe中从外部网站调用的网页?

时间:2014-03-17 14:18:08

标签: javascript asp.net asp.net-mvc iframe

我想知道我的网站的任何网页是否来自外部网站的iframe

我可以更改_layout.cshtml。

换句话说,我希望有两个布局,一个用户直接访问我的网站另一个布局,用于从其他网站访问我网站的用户(其他网站使用iframe参考我的网站)

我的问题是如何检测这两种类型并改变我的布局?

修改 我需要知道服务器端的iframe可以改变它。我不想将用户重定向到javascrip的某些操作 在我的一些观点中我需要这样的命令,但是如何?

@{ 
if(ViewBag.Iframe == true)
{
 layout ="_Iframelayout.cshtml"
}
else
{
 layout ="_Normallayout.cshtml"
}

}

3 个答案:

答案 0 :(得分:0)

查看此link。此链接可帮助您确定您的网站是否在iframe中打开。

识别出来后,您可以将用户重定向到特定的Controller Action并以编程方式更改布局。

答案 1 :(得分:0)

您可以使用以下代码,这是示例..

<style>
  html { display :none; }
</style>
<script>
if(self==top){
  window.location = "http://www.mysite.com/my_layout.cs.html";
}else{
  window.location = "http://www.mysite.com/my_layout.cs.html";
}
</script>

您可以将页面重定向到基于self == top decision

的特定布局类型

答案 2 :(得分:0)

有关检测跨域iframe的类似问题,请查看我的answer