2011-11-27 126 views
9

所以我有這樣的代碼:iframe和外部網站

<iframe id="theFrame" src="http://localhost" style="width:100%;" frameborder="0"> 
</iframe> 

,並在iframe就好加載本地主機網站..

但後來當我的改變src到外部網站

<iframe id="theFrame" src="http://www.youtube.com" style="width:100%;" frameborder="0"> 
</iframe> 

該網站沒有加載。

我做錯了什麼?我知道你可以在iframe中使用外部網站,因爲谷歌圖片搜索是這樣做的...

我如何讓外部網站在我的iframe中工作?

+0

您的HTML編碼是正確的,但我相信您嘗試訪問Youtube的網絡已阻止了youtube.com域。你能通過嘗試一個不同的域來驗證這一點嗎? –

回答

-1

這似乎是一個只有youtube的問題; src =「http://www.mozilla.org」適用於我的代碼。如果您想在iframe中顯示youtube視頻,他們可能會希望您在視頻頁面上使用「嵌入」選項?

+11

它不**是「只有youtube的問題」。 – JohnB

18

之所以外部網站,如:

  1. youtube.com
  2. google.com
  3. stackoverflow.com

不加載你的框架,是因爲他們故意利用某種幀殺手

(用了jQuery)

<style> html{display:none;} </style> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     if(window.self == window.top) { 
      document.documentElement.style.display = 'block'; } 
     else { 
     window.top.location = window.self.location; } 
    }); 
</script> 

推薦閱讀:

+1

有時* Framekiller *將框架中的引用網站彈出,但對於上述示例,這些* Framekiller *會設置爲僅將框架內容留空。 – JohnB

1

您可能遇到了我遇到的相同問題,很可能是iframe被X框架選項阻止或被Deny屬性阻止。例如,如果您從外部來源訪問Facebook,它將返回谷歌瀏覽器中的DENY響應