1

window.openのURLを渡し、window.focus、window.printを使用して印刷することにより、ドメインに別のページを印刷しようとしています。ただし、印刷プレビューには空のページしか表示されません。ページが読み込まれるまで待たなければならないと思いますが、どうすればいいのかよくわかりません。コードは次のとおりです。

var newWin=window.open('http://mydomain.com');
newWin.focus(); 
newWin.print(); 
newWin.close();

私は次のようなものを試しました

newWin.onload() {
    newWin.print();
});

無駄に。

編集1:

var newWin=window.open('http://localhost:76');
newWin.focus(); 
newWin.onload = newWin.print();
newWin.close();

同じ問題が続く

編集2:

var newWin=window.open('http://localhost:76');
newWin.focus(); 
newWin.body.onload = newWin.print();

ここにnewWin.close()を追加すると、print関数がバグアウトし
、ページのタイトルのみが印刷されます。それ以外の場合、ページはこれで正しく印刷されます

編集3:

function printWin(newWin) {
    newWin.print();
    newWin.close();
}

var newWin = window.open('http://localhost:76');
newWin.focus();
newWin.body.onload = printWin(newWin);

これにより、以前のように印刷が時期尚早に行われ、空のページがプレビューされます。wtf :(

4

1 に答える 1

2

ポップアップを開きます。次に、ポップアップの準備ができているかどうかを確認します。準備ができたら、javascript を挿入します。

<script type="text/javascript">

    var popup = window.open("b.htm");
    var body;
    function check() {
        body = popup.document.getElementsByTagName("body");
        if (body[0] == null) {
            setTimeout(check, 50);
        } else {
            var n = popup.document.createElement("script");
            n.src = "printandclose.js";
            body.appendChild(n);
        }
    }
    check();

</script>

printandclose.js

window.print();
window.open("", "_self");
window.close();

それが機能するかどうか教えてください。アラートを追加しないwindow.open("", "_self");と、ウィンドウが閉じようとしていることをユーザーに知らせるポップアップが表示されます。

于 2012-05-15T15:58:15.063 に答える