2012-09-24 72 views
1

我想用PHP來檢查頁面是否被加載到iframe中。最好但不是必需的,我希望在適用時擁有父母的網址。謝謝。PHP:檢查頁面是否顯示在iframe中?

+0

Javascript將能夠確定這一點 – Scuzzy

+1

一旦PHP完成執行它發送輸出到Apache和Apache使它可用於您的瀏覽器,所以一旦它得到由您的瀏覽器呈現PHP不再是「積極」,假設你有控制將頁面作爲iframe使用的頁面,您可以向url添加一個參數,指出這是「iframed」,這將有助於您在php腳本中做出任何決定 – rroche

回答

8

Php無法判斷請求的上下文。它除了傳遞給它的任何東西都不知道,並且可以作爲服務器變量使用。將頁面放入iframe時,您可以將自己的get參數添加到要使用的網址中,但否則您運氣不佳。

+0

我將不得不使用參數JS提供內容的可見性。謝謝 – Mooseman

4

JavaScript是必需的; PHP絕對沒有辦法可靠地知道。在JavaScript中,你可以使用

window.top === window.self; 
-1

我認爲有一些可能通過PHP全局變量$ _SEVER [ 「HTTP_REFERER」]檢測iframe中。在這個變量中是父窗口的url。

+0

你可以發佈一些代碼來展示它的工作原理嗎? – NirMH

+2

即使根據[文檔](http://www.php.net/manual/en/reserved.variables.server.php),它也不是很可靠。 – Mooseman

+0

PHP是一個Web服務器,僅涉及HTML代碼的動態構建以及通過網絡傳遞。有關在瀏覽器中呈現HTML的方式的詳細信息可以通過javascript訪問。 – prince