2013-05-07 83 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