2017-03-24 8 views
1

私はreactjsモーダルの内容を印刷しようとしています。私はモーダルにURLを埋め込み、その内容でモーダルを印刷したいと思います。以下は私のコードがあるオブジェクトタグのURLで読み込まれたページを印刷

<Modal.Body> 
      <div> 
      <object id="printableArea" type="text/html" data="http://www.xyztest.net/obj.html" className="objectClass"> 
     </object> 
      </div> 
     </Modal.Body> 

マイ印刷ボタン機能は

handleToggle: function (divName) { 
    var printContents = document.getElementById(divName).innerHTML; 
    var originalContents = document.body.innerHTML; 
    document.body.innerHTML = printContents; 
    window.print(); 
    document.body.innerHTML = originalContents; 
} 

このオブジェクトタグのURLのコンテンツを印刷しない... plsは私がこれを達成することができる方法を知っている..私はしたくないですiframeを使用する

答えて

0

ポップアップがこれに対するより簡単で信頼性の高い解決策になるかもしれません。以下のようdivName<object>タグを参照していると仮定すると、あなたは何かができる:これは空白のポップアップウィンドウを開きます

handleToggle: function (divName) { 
    var url = document.getElementById(divName).getAttribute('data'); 
    var win = window.open(); 
    win.document.write('<iframe style="width:100%;height:100%;padding:0px;margin:0px;" src="'+url+'" frameborder=0></iframe'); 
    setTimeout(function(){ 
     win.window.print() 
    }, 1000); 
} 

、IFRAMEを書き込み、srcはあなたのURLに設定します。ページが読み込まれ、印刷が開始されるまで待ちます。

+0

これはうまくいきません。すでに試してみましたが、印刷ポップアップは何も表示されません。 –

+0

私が言ったように、 getElementById(divName) 'が' 'タグを返しているとき、私は' divName'が何であるか分かりません。それがオブジェクトを返す場合、それは動作するはずです –

+0

divNameはオブジェクトタグのidです。オブジェクトタグのCSSクラスを返しますが、埋め込まれたページの実際のHTMLコンテンツは返しません.my urlは次のようなものですhttp: //example.com/admin.html –

関連する問題