私はページビルダータイプのものを作っています。通常のビューの場合は、iframeのサイズを変更する必要がありますが、モバイル/タブレットビューの場合はサイズが設定されている必要があります。 (私は.sizeを見たiframeサイズをプログラムで強制的に適用するにはどうすればよいですか?
// set the iframes width and height "before" iframeresizer does stuff to make it look seemless
_this.editor.css({
"width":mapper[size].width,
"height":mapper[size].height
})
唯一の方法:視点サイズチェンジャーはこれを行い
<script type="text/javascript" src="javascript/iframeResizer.min.js"></script>
....
$("iframe")[0].iFrameResize({
checkOrigin: false,
enablePublicMethods : true,
heightCalculationMethod: "bodyScroll",
});
....
:@デビッド・ブラッドショー
親ウィンドウによってはiframeサイズ変更https://github.com/davidjbradshaw/iframe-resizerを使用して
)作業はiframe自体からです
// fire off a sendMessage cause only way i saw .size() working is from the iframe itself
_this.editor[0].iFrameResizer.sendMessage({
"width":mapper[size].width,
"height":mapper[size].height,
"forceSize":true
});
iframeのウィンドウ私は簡単に親disableIframeResizer上のような方法()か何かを期待して、あるいはそれがどこ視点パーツを選択しますので、親から.size()を設定することができるというられた
<script>
var iFrameResizer = {
messageCallback: function(message){
console.log("messageCallback")
console.log(message)
if (message.forceSize==true){
console.log(window.parentIFrame)
window.parentIFrame.autoResize(false);
window.parentIFrame.size(message.height); // Set height to 100px
} else {
// apply auto resizing again
}
}
}
</script>
<script type="text/javascript" src="javascript/iframeResizer.contentWindow.min.js"></script>
live.Iそれはわかりません:(
私の問題は:どういうわけか、forceSize = trueのときにリサイズしないようにiframeに指示してから、それに応じてメッセージのサイズを変更する必要があります。
非常にまともなライブラリthoのおかげで!
私は上記でリンクされた自動サイズ変更されたライブラリを使用しています。初期化されるとイベントが追加され、iframeのサイズを自動的に変更してdivなどのように動作し、特定の状況下でそのライブラリを無効にする方法を探します。 – WilliamStam
iframeを削除したい場合はどうしますか? –
私はページビルダーのことを作っています。 PCモードで見ると、サイズを変更する必要があります。モバイルをクリックすると、自動リサイズを無効にして高さ/幅を設定する必要があります – WilliamStam