0

在我的默认网页中,当用户单击某些内容(使用 JS)时,我会弹出一些 Iframe。

我怎样才能阻止用户直接访问链接:WWW.mydomain.com/Iframe.aspx 并查看完整页面,但只要他们从默认页面单击 iframe 按钮,他们仍然可以访问。

默认 - default.aspx Iframe - Iframe.aspx。

谢谢。

4

1 回答 1

0

Web 应用程序使用一种称为Frame killer的技术来防止其网页显示在框架内。在你的情况下,它有点相反,但我们可以借用一个类似的想法。

如果您Iframe.aspx在单击按钮时将您的显示为弹出窗口。如果为空window.opener,您可以检查Iframe.aspxthrow 错误。window.opener像这样:

<script type="text/javascript">
  if(!window.opener) {
      throw new Error();       
  }
</script>

如果您Iframe.aspx嵌入在弹出窗口的 iframe 中。您可以使用进一步检查它window.parent.opener

<script type="text/javascript">
      if(!window.parent.opener) {
          throw new Error();       
      }
    </script>

请注意,此技术确实存在上述链接中指出的限制。

于 2013-11-09T09:36:08.590 回答