2009-11-04 52 views
0

我試圖顯示一個iframe,它可以指向不同的網址,並且想動態調整它的大小來顯示其內容而不用滾動條。避免滾動條的最小iframe大小?

我怎樣才能找到這些尺寸?

+0

跨站點不是問題:所有的HTML都是同一站點。 我只是試圖避免爲每個或預先計算調整,希望這是已經可用的東西。 – HappyFunBall 2009-11-04 01:58:54

+0

最好我目前爲止: jQuery(「body」)。height() jQuery(「body」).width() – HappyFunBall 2009-11-04 04:54:29

+0

這些正是你所需要的。 – mahemoff 2009-11-04 15:49:04

回答

0

我不認爲這是可能的。許多網站調整他們的內容以適應他們的容器,因此調整容器以適應內容將最多是凌亂的。此外,由於採用單一來源策略,JavaScript將無法檢查iframe中加載的網頁是否來自其他網站,因此我認爲您甚至無法分辨是否需要滾動或不。

您可以通過提前計算尺寸來近似它,但即使如此,它也只是一種猜測,因爲瀏覽器中對象的確切大小僅受瀏覽器控制。例如,如果用戶選擇了較大的字體大小,則可能無法將iframe展開至足夠大,以便用戶無需滾動即可查看整個頁面。

0

你只能通過iframe和你的網站之間的溝通來做到這一點。例如,這是OpenSocial小工具使用的技術。這隻有在iframe和父項都受到控制的情況下才有可能,在這種情況下,如果瀏覽器無法處理該問題,則可以使用HTML5 cross-window messagingfall back to other cross-domain hacks

您也可以嘗試通過直接拉取網站並提供其內容來避免iframe。這隻有在數量非常有限的網站上才能實現,主要是靜態網站,即便如此,也不是以任何方式理想。