PHP / Javascript检查是不是在特定的iframe中运行[重复]
Posted
技术标签:
【中文标题】PHP / Javascript检查是不是在特定的iframe中运行[重复]【英文标题】: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。 【参考方案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 */
【讨论】:
以上是关于PHP / Javascript检查是不是在特定的iframe中运行[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何检查对象是不是在 JavaScript 中具有特定属性?
如何使用 JavaScript 检查 body 是不是有特定的类?
如何在php中检查当前的url,然后比较它是不是有一个特定的单词/短语