2012-01-17 75 views

回答

7

幀只是客戶端,所以你不能通過PHP或.htaccess來檢查它。你可以用Javascript來檢查它。看到這個線程:

How to identify if a webpage is being loaded inside an iframe or directly into the browser window?

編輯 下面是會爲您重定向一個例子。這是直Javascript支持,但是如果你使用jQuery這樣做,你可以寫同樣的功能到document.ready

<script> 
function check_frame() { 
    if(top === self) { // not in a frame 
      location.href = "/link/to/some/url"; // either the frameset or an error. 
    } 
} 
</script> 
<body onLoad="check_frame()"> 
... normal code for your page here ... 
</body> 

注意,頁面仍然可以是一個PHP頁面,它只是需要輸出的Javascript這一點。

+0

謝謝,我會看看:-) – 2by 2012-01-17 19:12:15

+0

好的,所以我根本沒有加入Javascript,你能舉個例子嗎? – 2by 2012-01-17 19:13:57

+0

編輯添加示例 – Cfreak 2012-01-17 19:28:52

0

我不相信上面的回答,所以我想這:

$requri = $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; 
if (strpos($requri, $domain_of_uri_in_frame_no_http) !== FALSE){ 
    header("Location: " . $top_uri) ; 
} 

它沒有工作,所以不要浪費你的時間:)。

相關問題