簡體   English   中英

使用打印對話框在JavaScript中打開新窗口?

[英]Open a new window in javascript with print dialog?

我想使用已打開的打印窗口在javascript中打開新標簽。我嘗試了以下代碼,但無法正常工作

function OpenInNewTab() {
        var win = window.open('http://stackoverflow.com/questions/6808650/triggering-ctrl-s-or-ctrl-p-via-a-button', '_blank');
        console.log(win);
        win.focus();
        win.onload = function() {
            win.print();
        };
    }

我怎樣才能做到同一件事

編輯1:

我也嘗試過這種方法但不起作用

function OpenInNewTab() {
        var win = window.open('http://stackoverflow.com/questions/6808650/triggering-ctrl-s-or-ctrl-p-via-a-button', '_blank');
        win.document.attachEvent("load", function() {
            window.print();
            alert("called")
        })

    } 

我發現了為什么Chrome無法正常工作的問題。 請參考以下代碼:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" id="age_validation_input"> <button type="button" id="age_validation_btn" onclick="OpenInNewTab()"> Test </button>

<script type="text/javascript">
function OpenInNewTab() {
        var win = window.open('https://stackoverflow.com/questions/6808650/triggering-ctrl-s-or-ctrl-p-via-a-button', '_blank','height=600,width=800');
        console.log(win);
        win.focus();
        //win.onload = function() {
        //  alert("Hello");
        //    print();
        //};
        //win.onload = "alert('hello');"

        setTimeout(function(){win.print();win.close();}, 3000);
    }

</script>

當您運行以上代碼時,它顯示以下錯誤:

在此處輸入圖片說明

因此,要解決此問題,請參閱如何解決window.opener跨域安全問題

希望這會有所幫助:)

因此,基本上,您想要做的是,或者可以做的是制作您要打印的頁面。 在新標簽頁中打開該頁面。 然后在要打印的頁面正文底部添加以下內容:

 <script>         
   var yourName= "whateverYouWannaNameTheDocument";
            document.title = yourName;
            window.print();
</script>

這在生成發票時對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM