簡體   English   中英

打印頁面后如何重新加載頁面?

[英]How to page reload after print my page?

 function printdiv(printpage) { var headstr = "<html><head><title></title></head><body>"; var footstr = "</body>"; var elements = document.getElementsByClassName('hide-print-area'); for (var i = 0; i < elements.length; i++) { elements[i].style.display = 'none'; } var newstr = document.all.item(printpage).innerHTML; var oldstr = document.body.innerHTML; document.body.innerHTML = headstr + newstr + footstr; window.print(); document.body.innerHTML = oldstr; for (var i = 0; i < elements.length; i++) { elements[i].style.display = 'block'; } return false; } window.onafterprint = function() { //alert("Hello"); window.location.reload(true); };
 <html> <head> <title>Test Printing Page </title> </head> <body> <div id="printArea"> <h2>Print Title</h2> <div>Desciption Here</div> <input class="hide-print-area" type="button" value="Print" onclick="printdiv('printArea')" /> </div> </body> </html>

當我點擊cancel按鈕時Mozilla瀏覽器頁面刷新但是當我點擊ok按鈕時頁面沒有刷新。

Chrome什么也沒有發生。

我已經檢查了onafterprint事件。 這每次都在調用,但頁面沒有刷新。 請幫我。

我想在打印我的頁面后重新加載頁面。

以下適用於Firefox是的,適用於chrome否。您的頁面正在重新加載,只是它在 chrome 中不起作用。

 window.onafterprint = function() {
        window.location.reload(true);
    };

對於chrome onafterprint不起作用,因為沒有實現它,因此您需要將偵聽添加到媒體查詢中,其中一種方法如下所述以實現相同的目的。

window.matchMedia('print').addListener(function (media) {

      if(media.matches){

      }
      else{
           window.location.reload(true);
            //location.reload();
      }
   });
}

雖然我不明白寫入 html 然后再次重新加載頁面有什么意義。

請參閱以下鏈接以獲取工作示例:

https://jsfiddle.net/f8fp9k0x/

在 document.body.innerHTML = oldstr; 之后添加 window.location.reload(true);

暫無
暫無

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

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