我有一个ASPX页面,有时会加载到我的应用程序中的iFrame中,有时不会。从后面的代码中,您如何检测您的页面是否从iFrame加载。
答案 0 :(得分:2)
你无法在服务器端检测到这一点,在客户端,这个java脚本代码应该可以工作。
<script type="text/javascript">
if (top == self)
alert('Not in an iframe');
else
alert('In an iframe');
</script>
答案 1 :(得分:2)
我真诚地怀疑你能从背后的代码中做到这一点。您可以在JavaScript中执行此操作,但不能从后面的代码中执行此操作。
如果你真的需要知道后面的代码,你可能会在iframe中加载页面时提供一个Query String参数?有点像...
<iframe src ="page.aspx?iframe=true" width="100%" height="300">
</iframe>
然后在代码后面你可以做类似的事情......
// sometimes my Asp.NET, Java and PHP get a little confused
// so maybe this might throw some no such index type errors,
// but I think it communicates the idea
string iframe = Request.QueryString["iframe"];
if(!string.IsNullOrEmpty(iframe) && iframe.Equals("true")) {
// this page is in the iframe
}
答案 2 :(得分:0)
您应该使用JavaScript来执行此操作。