2016-06-19 22 views
0

をページ全体を印刷しようとしている私は、IFRAMEのコンテンツ を印刷するにはクリック にイベントに私のhtmlページや印刷ボタンで動的に作成されたが、残念ながら、それは代わりに が、後にページ全体を印刷しIFRAMEをしました長い検索 私はfire printイベントの前にiframeにフォーカスを当てるようないくつかの解決策を見つけましたが、IEとMS Edgeでは動作しないようです Chromeで動作します 私にとっては唯一の解決策は新しいウィンドウとコピーを開くことです新しいウィンドウに読み込まれた内容の後にiframe outerhtmlとfire printイベントが表示される ユーザーが印刷またはキャンセルを行う直後に新しいウィンドウを閉じる iframeの内容を印刷する代わりに

function printIFrameContent() 
{  
    var ua = window.navigator.userAgent; 
    var msie = ua.indexOf ("MSIE "); 
    var iframe = document.getElementById("testFrame"); 

    if (msie > 0) { 
     iframe.contentWindow.document.execCommand('print', false, null); 
    } else { 
     iframe.contentWindow.print(); 
    } 
} 

は呼ば:このソリューションは、ユーザエージェントがIEであればそれはIEでiframeの内容を印刷し、

<html> 
<head> 
<title>IFrame Printing Issue</title> 

<script type="text/javascript"> 
    var g_iFrame; 

    function onLoad() 
    { 
    g_iFrame = document.createElement("iframe"); 
    g_iFrame.id = "testFrame"; 
    var style = g_iFrame.style; 
    style.border = "1px solid black"; 
    style.width = "300px"; 
    style.height = "200px"; 

    document.body.appendChild(g_iFrame); 
    } 

    function setIFrameSrc() 
    { 
    g_iFrame.src = "Test.htm"; 
    } 

    function printIFrameContent() 
    { 
    window.frames["testFrame"].contentWindow.focus(); 
    window.frames.testFrame.contentWindow.print(); 
    } 
</script> 
</head> 

<body onload="onLoad();"> 
<button type="button" onclick="setIFrameSrc();">Set IFrame Src</button> 
<br /> 
<button type="button" onclick="printIFrameContent();">Print IFrameContent</button> 
<br /> 

<div style="border: 1px solid black; width: 300px; height: 200px;"> 
    This is to test printing the content of an IFrame whose src is set dynamically. 
</div> 
</body> 
</html> 

答えて

1

をEdgeにすべてのソリューションは、あなたが最初にそこに確認することができない ユーザーフレンドリーを見ていません同様の答えは:https://stackoverflow.com/a/19639241/1500851

+0

IEからテストを開いたときに、このメソッドはIE を識別することができないようです。msieの値が-1のままである –

+0

文字列 "Trident"を使用してIEと'' Eエッジ – User528491

+1

のためのdge "'これはとてもうまく動作します –

関連する問題