【问题标题】:PHP/Javascript check if running in specific iframe [duplicate]PHP / Javascript检查是否在特定的iframe中运行[重复]
【发布时间】:2013-05-01 23:05:49
【问题描述】:

如果当前页面在特定页面的 iFrame 中运行,是否有办法检查 PHP 或 Javascript(首选 PHP)。所以,我想要这样的东西:

if(runningInIframeFromPage("http://www.myAwesomeWebsite.com")){
    //go on with script
}

这可能吗?

【问题讨论】:

  • php 不知道 iframe 是什么
  • 充其量php可以检查引荐来源网址,但这仅意味着由于引荐站点上的链接而正在执行当前脚本。服务器端代码无法检测页面在浏览器中的加载位置:顶级或 iframe。

标签: php javascript html iframe


【解决方案1】:

这个问题的一部分是answered before

if (parent==top) { // ...

关于 PHP 部分 - 不,这是不可能的,但是您始终可以使用 JavaScript 检查来触发 Ajax 请求以动态加载您想要的内容。

【讨论】:

  • 您建议使用 ajax 请求触发服务器端方面的唯一问题是,在触发 ajax 请求之前,javascript 和页面必须已经呈现。这意味着您的 UI 将加载,然后下一个页面加载将看到服务器端方面。
【解决方案2】:

要知道页面是否在 iFrame 中,您可以使用:

if (window!=window.top) { /* iframe */ }

所以只需检查window.top.location.hostname(只是域,而不是整个 URl。整个 URL 是 .href)

if (window!=window.top) {
    if(window.top.location.hostname = "www.myAwesomeWebsite.com" || window.top.location.hostname = "myAwesomeWebsite.com" ){
        /* code if domain is myAwesomeWebsite.com or www.myAwesomeWebsite.com  */
    }
}

【讨论】:

    猜你喜欢
    • 2014-03-15
    • 2013-06-04
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2013-04-04
    • 2017-06-10
    • 2012-11-14
    相关资源
    最近更新 更多