2013-05-07 81 views
4

如果当前页面正在特定页面上的iFrame中运行,是否有办法检入PHP或Javascript(首选PHP)。所以,我想这样的事情:PHP/Javascript检查是否在特定iframe中运行

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

这可能吗?

+3

PHP不知道iframe是 – 2013-05-07 21:01:54

+1

最好的PHP什么可以检查引荐,但是这只是意味着当前脚本被由于在refered网站的链接执行。服务器端代码无法在页面加载的浏览器中检测到WHERE:顶层或iframe。 – 2013-05-07 21:02:51

回答

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 */ 
    } 
} 
2

这一问题的部分原因是answered before

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

关于PHP的一部分 - 不,这是不可能的,但你总是可以使用JavaScript检查火了一个Ajax请求动态加载在你想要的内容中。

+0

您对使用ajax请求触发服务器端方面的建议唯一的问题是JavaScript和页面必须在触发ajax请求之前呈现。这意味着您的用户界面将加载,然后下一页加载将看到服务器端的方面。 – 2015-07-31 18:18:49