如果站点未显示在框架中,则重定向


Redirect if site is not shown in a frame

我有一个页面,我只希望它在iframe中显示时可见。

这在PHP、htaccess或其他什么中可能吗?怎样

我更喜欢PHP 中的解决方案

谢谢!

框架仅在客户端,因此您无法通过PHP或.htaccess进行检查。您可以在Javascript中进行检查。查看此线程:

如何识别网页是在iframe中加载还是直接加载到浏览器窗口中?

编辑下面是一个可以为您重定向的示例。它是直接的Javascript,但如果您使用jQuery执行此操作,则可以将相同的函数写入document.ready

<script>
function check_frame() {
     if( top === self ) { // not in a frame
          location.href = "/link/to/some/url"; // either the frameset or an error.
     }
}
</script>
<body onLoad="check_frame()">
... normal code for your page here ...
</body>

请注意,该页面仍然可以是一个PHP页面,它只需要输出那部分Javascript。