2017-07-20 12 views
1

私はiframeに読み込みたいHTML文書を持っており、次にGoogle Chromeでポップアップするための印刷プレビューがあります。これは私がこれまでにやっていることですが、それは動作していないよう:別のHTMLファイル全体をiframeにインポートするにはどうすればいいですか?

<script> 
... 
jQuery(document).ready(function($) { 
     $('#printerButton').click(function(){ 
      openPrintDialogue(); 
     }); 
    }); 
    function openPrintDialogue(){ 
     $('<iframe>', { 
      id: 'frame', 
      scr: 'path/to/my/external/html/file', 
      name: 'myiframe', 
      class: 'printFrame' 
     }) 
      .appendTo('body'); 

      window.frames['myiframe'].focus(); 
      window.frames['myiframe'].print(); 

      setTimeout(() => { $(".printFrame").remove(); }, 1000); 
    }; 
... 
</script> 
<html> 
... 
<input type="button" id="printerButton" name="print" value="Print It" /> 
... 
</html> 

のiframeポップアップが、それは単なる空白であり、私はそれが外部のHTMLのコンテンツに提出/移入するにしたいです私のファイル。

注:これを行う主な理由は、ボタンをクリックして外部のhtmlファイルを印刷したいからです。あなたがそれをするためにやっているより簡単な方法を知っているなら、私に知らせてください。

ありがとうございます。

更新:解決済み。ありがとうperfect5th!印刷ウィンドウが閉じられますまで

setTimeout(() => { $(".printFrame").remove(); }, 1000); 

は呼び出されません:「SCR」は「SRC」でなければなりませんが、あなたは別の問題を抱えている - 誰かとして

+2

あなたは誤字があるようです。私は 'scr'は' src'とすべきだと思います。 – perfect5th

答えて

0

はすでにあなたに言いました。 これはクロムブラウザの制限です(印刷ウィンドウではJSが親ウィンドウで実行されなくなります)。

そして、とにかく、iframeを取得するためにクラスセレクタではなくidセレクタを使用します。

setTimeout(() => { $("#frame").remove(); }, 1000); 
関連する問題