2011-04-09 105 views
0

如何製作僅顯示部分iframes網頁的iframe?如何使用iframe顯示網頁的一部分?

讓我們以youtube爲例。 iframe如何顯示youtube視頻播放器?

感謝,

俄德

+2

你不能這麼做,你可以運行一些服務器端代碼來將你想要的部分拉出頁面並將其推入iframe中嗎? – 2011-04-09 19:35:44

+1

(在YouTube的情況下,您將使用他們的嵌入代碼。) – oblig 2011-04-09 19:41:47

回答

2

這是不可能的:一個iframe將始終顯示完整的文檔。同源策略會阻止你從中取出一部分。

唯一的解決方法是從服務器獲取Youtube的HTML數據(使用服務器端語言),然後翻譯頁面中包含的所有相關引用,並將其輸出爲服務器上的頁面。您可以從中分離出特定的元素,因爲您處於自己的域的上下文中。這被稱爲設置服務器端代理。

但是,這是一個不完善和艱難的過程,並且幾乎(有時完全)不可能在沒有打破東西的情況下正確進行,尤其是在JavaScript和Video中。此外,這很可能是非法的,至少在YouTube的情況下。

1

如果您正在尋找專門爲YouTube準備的視頻,您可以爲您之後的視頻動態獲取嵌入代碼並以此方式進行展示。如果您正在尋找一個通用解決方案,那麼您需要與目標站點的HTML進行長時間的會話。如果你正在使用jQuery

$.get('proxy.php?url=' + urlEncode("http://my-target-url.com"), function(result_data) { 
    $("#target-element").html($(result_data).find("#content-you-want").html()); 
} 

:如果你弄清楚,你的內容是全部<div id='content-you-want'>內,例如,那麼你可以做這樣的事情。但是,如果你想要的東西不是很方便的話,那麼仍然需要完成一些工作,所有這些都是用id包裝在div中。你需要proxy.php來擊敗相同的原產地策略。

相關問題