有没有办法确定用户是使用side和iframe中的网页还是使用PHP正常浏览?
答案 0 :(得分:1)
您可以在使用IFRAME时向请求添加一些GET参数。
<iframe src="http://www.example.com/iframe?iframe=1">
但是非iframe请求时不会有这个GET参数。
您可以检查此GET参数是否在会话中显示并定义。
因此iframe和普通窗口会有不同的会话。
答案 1 :(得分:1)
使用@deceze上面提到的javascript代码(我将其粘贴在下面),
if (parent.frames.length > 0) { ... }
如果上面的代码注意到页面显示在iframe中,那么通过ajax调用调用'IAmInIFRAME.php'(只是示例)。
答案 2 :(得分:0)
解决方案是查看父级的位置和当前窗口的位置是否相同。如果相同,则页面正常加载;如果不同,则页面已加载到iframe中。
var isInIFrame = (window.location != window.parent.location) ? true : false;
这来自这个网站。 http://www.24hourapps.com/2009/01/check-if-page-is-loaded-in-iframe-using.html,它来自此处Check if site is inside iframe的SO问题。
注意:在一项测试中,我遇到了跨浏览器起源错误,但只有在两个位置不同的情况下才会出现。