2017-12-22 11 views
1

私はページビルダータイプのものを作っています。通常のビューの場合は、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のおかげで!

答えて

0

私はあなたの質問を100%理解しているとは思わない。しかし、私はあなたの質問に私が理解したように答えようとしました。

iframeのサイズは実際にはhtmlで設定できます。あなたはCSSの助けを借りてそれを行うこともできます。

<iframe href="https://google.com" width="100%" height="100%">Your Browser Does Not Support Iframe</iframe>とすることができます。あなたはまた、自動的にそれの直径を変更するためにPHPを使用することができ<iframe href="https://google.com" width="300px" height="100px">Your Browser Does Not Support Iframe</iframe>

また、このような正確な直径を設定することができます。

+0

私は上記でリンクされた自動サイズ変更されたライブラリを使用しています。初期化されるとイベントが追加され、iframeのサイズを自動的に変更してdivなどのように動作し、特定の状況下でそのライブラリを無効にする方法を探します。 – WilliamStam

+0

iframeを削除したい場合はどうしますか? –

+0

私はページビルダーのことを作っています。 PCモードで見ると、サイズを変更する必要があります。モバイルをクリックすると、自動リサイズを無効にして高さ/幅を設定する必要があります – WilliamStam

関連する問題