Php 检查我的页面是否嵌入到iframe中
为了实现不同的行为,我想测试我的页面(php)是否嵌入到iframe中。知道如何测试这个吗。如果有帮助的话,我也在使用jQuery 添加: 我特别感兴趣的是,是否有一种方法可以在服务器上而不是在使用Javascript的客户端上测试这一点,也许:Php 检查我的页面是否嵌入到iframe中,php,javascript,jquery,iframe,Php,Javascript,Jquery,Iframe,为了实现不同的行为,我想测试我的页面(php)是否嵌入到iframe中。知道如何测试这个吗。如果有帮助的话,我也在使用jQuery 添加: 我特别感兴趣的是,是否有一种方法可以在服务器上而不是在使用Javascript的客户端上测试这一点,也许: var isInIFrame = (window.location != window.parent.location) ? true : false; 您可以使用JavaScript,我认为以下内容应该可以使用: if (top != self)
var isInIFrame = (window.location != window.parent.location) ? true : false;
您可以使用JavaScript,我认为以下内容应该可以使用:
if (top != self) {
// you're in an iframe, or similar.
}
已编辑关于问题的更新: 添加:我特别感兴趣的是,是否有一种方法可以在服务器上而不是在使用Javascript的客户端上进行测试 无法在服务器端“检查”,但您可以使用,有两个选项:
DENY
:防止在任何位置对资源进行帧处理(假定浏览器支持X-Frame-Options标题),或SAMEORIGIN
:它只允许来自同一域的页面对资源进行框架化,这与JavaScript的同源策略非常相似要使用它,您需要将服务器配置为发送相关的头;尽管在不知道您正在运行的服务器的情况下,无法给出具体的建议;虽然链接文章中确实显示了Apache选项。我不知道是否有特定的JQueryway,但在普通javascript中,您可以简单地
if (top != self)
alert("framed!")
函数InFrame()
{
if(top.location!=位置){
//做你需要的任何事情-你的网站在一个iframe中。
//如果需要,这将重定向到您的站点
//top.location.href=document.location.href;
//
}
}
可能重复的非真实重复的可能重复,因为我想最好在服务器上测试!那么,为什么要用JavaScript和jQuery标记您的问题呢?这在服务器端是不可能的。但即使这样,它也会是@Felix的翻版,因为我的脑子里还不太清楚。你需要什么?true:false
for?可能他不知道他可以设置这样的值var isInIFrame=(window.location!=window.parent.location)代码>不管怎样,都是一样的
<script language="JavaScript" type="text/javascript">
function InFrame()
{
if (top.location != location) {
//Do whatever you need- your site is in an iframe.
//This will redirect to your site if you need to
//top.location.href = document.location.href ;
//
}
}
</script>