我想知道我的网站的任何网页是否来自外部网站的iframe
我可以更改_layout.cshtml。
换句话说,我希望有两个布局,一个用户直接访问我的网站另一个布局,用于从其他网站访问我网站的用户(其他网站使用iframe参考我的网站)
我的问题是如何检测这两种类型并改变我的布局?
修改 我需要知道服务器端的iframe可以改变它。我不想将用户重定向到javascrip的某些操作 在我的一些观点中我需要这样的命令,但是如何?
@{
if(ViewBag.Iframe == true)
{
layout ="_Iframelayout.cshtml"
}
else
{
layout ="_Normallayout.cshtml"
}
}
答案 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。