ファンシーボックスの寸法を「手動で作成された」iframeのコンテンツサイズと一致させたい。
私はこれを試しました:http://jsfiddle.net/ystLD/3/
しかし、それは機能せず、今はここで立ち往生しています。
誰もこれを行う方法を知っていますか?
ありがとう。
ファンシーボックスの寸法を「手動で作成された」iframeのコンテンツサイズと一致させたい。
私はこれを試しました:http://jsfiddle.net/ystLD/3/
しかし、それは機能せず、今はここで立ち往生しています。
誰もこれを行う方法を知っていますか?
ありがとう。
「手動で作成された」iframe
には、fancybox が実際に何type
のコンテンツを扱っているかを知らないという欠点があります。オプションで fancybox を開きたいと思いますtype: "iframe"
。
次に、の内容に応じて fancybox のサイズを変更できると私が考える唯一の方法は、iframe
内で開いたページ内の寸法を 、または のようなラッパーコンテナでハードコーディング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();
}
開いているページを所有しておらず、そのサイズをハードコーディングできない場合でも、orタグのinnerWidth()
andを取得することはできますが、このフォークされたフィドルでわかるように、非常にバグがある可能性があります。innerHeight()
html
body
これが他の誰かのために働いた答えですhttps://stackoverflow.com/a/10776520/1055987
とにかく手動で作成しているので、iframeの属性に幅と高さを付けることができます。
.attr({ name: 'blah', width: '500px', height: '500px' })
フェッチしているページのサイズと正確に一致するものが必要な場合、iframe はブラウザー ウィンドウを開くのとほとんど同じであるため、かなり面倒な作業です。構造を分析して、最も広い div のサイズなどをプログラムで決定する必要があります。また、ページがレスポンシブ レイアウトを使用しているかどうかを判断し、そのために特定のサイズを使用する必要があります。