2014-02-06 341 views
1

感謝有關標題麻煩的信息。還有一個問題:我能否知道是否存在標題問題,阻止我僅通過鏈接本身在iframe中顯示它?所以我會爲有問題的網站顯示一個不同的頁面?Iframe does not work

我有一個頁面,其中包括另一個網站。 的代碼是:

<iframe id="frameId" WIDTH="100%" HEIGHT="80%" src="<?php echo $deal_URL ?>">Cant open the iframe</iframe> 

的問題是,有時IFrame不再顯示在頁面上。 我檢查它與鉻「檢查元素」,我已經發現,標籤

<iframe> </iframe> 

之間我也有HTML。

<iframe id="frameId" WIDTH="100%" HEIGHT="80%" src="<?php echo $deal_URL ?>"> 
#document 
<html>....</html> 
</iframe> 

大多數情況下,它發生在亞馬遜鏈接。

我如何展示他們的網站?除了iframe,還有其他解決方案嗎?

試過的解決方案: 我試過約翰解決方案,並創建了另一個PHP文件。我的原始文件的樣子:

<iframe id="frameId" WIDTH="100%" HEIGHT="80%" src='PresentFrame.php?URL=<?php echo  $deal_URL ?>'> Cant open the iframe</iframe> 

而且在新PresentFrame.php我寫道:

<?php 
$URL=$_GET['URL']; 
echo file_get_contents("$URL"); 
?> 

它的工作原理爲:提供了一些信息,但現在看起來很糟糕。圖片沒有呈現,它看起來不像一個網站

回答

3

亞馬遜使用X-Frame-Options: SAMEORIGIN HTTP標頭告訴瀏覽器不要讓它的頁面在幀中服務。您唯一的選擇是加載數據服務器端(file_get_contents()),然後通過內容。

+0

所以你說什麼是錯我的代碼並沒有什麼,如果我有一個網站的鏈接,不要讓I幀我可以做? – Alex

+1

正確。 'X-Frame-Options:SAMEORIGIN'被設計來阻止這種事情。 –

+0

你能解釋一下你給出的選項:「你唯一的選擇是加載數據服務器端,然後通過內容。」? – Alex

0

您是否每次都在$ deal_URL中有東西?

,你不應該使用的屬性大寫...

<iframe id="frameId" width="100%" height="80%" src="<?php echo $deal_URL ?>"> 
+0

我確實和問題是約翰說的......我只是想知道該怎麼做。我不得不在一頁上展示產品信息 – Alex