我想使fancybox的大小與「手動創建的」iframe的內容大小相匹配。如何將fancybox調整爲自定義創建的iframe大小
我嘗試這樣:http://jsfiddle.net/ystLD/3/
但它不工作,現在我有點困在這裏。
有誰知道如何做到這一點?
謝謝。
我想使fancybox的大小與「手動創建的」iframe的內容大小相匹配。如何將fancybox調整爲自定義創建的iframe大小
我嘗試這樣:http://jsfiddle.net/ystLD/3/
但它不工作,現在我有點困在這裏。
有誰知道如何做到這一點?
謝謝。
「手動創建」iframe
的缺點是fancybox並不真正知道內容正在處理什麼type
。我寧願用選項type: "iframe"
打開fancybox。
然後,我想你可以根據iframe
內容的fancybox重新大小的硬編碼iframe
內打開頁面內尺寸的唯一途徑,無論是在html
,body
或包裝容器狀
<html style="width: 800px; height: 650px;">
,那麼你可以使用beforeShow
回調以獲取iframe
的尺寸一樣
beforeShow: function(){
this.width = $('.fancybox-iframe').contents().find('html').width();
this.height = $('.fancybox-iframe').contents().find('html').height();
}
若y OU不要自己打開的頁面,你不能硬編碼它的尺寸,你仍然可以嘗試獲得innerWidth()
和html
或body
標籤innerHeight()
,但它可以是真正越野車,你可以在這個forked fiddle
看這裏是爲別人工作的答案https://stackoverflow.com/a/10776520/1055987
您可以將寬度和高度附加到iframe的屬性,因爲您無論如何都要手動創建該屬性。
.attr({ name: 'blah', width: '500px', height: '500px' })
如果你想要的東西,將你取那麼這是一個非常繁瑣的任務,因爲一個iframe是很像打開一個瀏覽器窗口中的頁面的大小完全匹配。你將不得不通過分析結構來確定最寬的div的大小,並通過編程來確定。此外,您必須確定頁面是否使用了響應式佈局,併爲此使用了特定的大小。
謝謝@JFK! :) – dmmd
真的很有用。一個警告,但。這個jQuery代碼忽略了對元素進行樣式化的任何空白,但是您可以將這些值添加回來以防止內容被截斷。 –