【问题标题】:Check if a page is opened in an overlay检查页面是否在叠加层中打开
【发布时间】:2011-10-31 14:56:11
【问题描述】:

如何确定页面是在叠加层还是在浏览器窗口中打开?
更准确地说,它是来自 GitHub 的下载页面行为:如果您单击 this pageDownloads 按钮,它将打开一个 facebox 覆盖。但是,如果您从相应链接复制地址并将其粘贴到新选项卡中,它将作为新页面打开。

那么如何查看页面打开的位置(假设是 PHP)?

编辑:

This 是我要找的。​​p>

【问题讨论】:

  • 你不能从服务器端这样做。

标签: php javascript overlay


【解决方案1】:

我认为您需要使用 JavaScript 对客户端进行检查,而 PHP 在这方面对您没有帮助。据我所知,您需要弄清楚页面是如何加载的。可能它是一个 iframe 之类的。其中您必须能够检索加载的地址。

【讨论】:

    【解决方案2】:

    我不知道您为什么要检查它,但是您可以看到该链接有一个 id="download_button"。在 bundle_hithub.js 文件中,download_button 与弹出事件相关联。不知道具体是怎么回事,那些单行压缩的JS文件很难看。

    【讨论】:

      【解决方案3】:

      如果要加载的页面有以下脚本

      <script type="text/javascript">
          window.location = "http://page-loads";
      </script>
      

      当通过 ajax 调用加载时它不会运行(因为页面很可能会附加一个 innerHTML 方式,导致脚本被附加到文档中,但不会运行)

      但当仅在浏览器窗口中打开时 - 脚本将运行将用户带到所需的目的地!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-22
        • 1970-01-01
        • 2013-01-06
        相关资源
        最近更新 更多