2016-03-18 152 views
0

我想在已經opened.I曾嘗試下面的代碼打印窗口JavaScript打開一個新的標籤,但它不工作用打印對話框在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") 
     }) 

    } 
+0

代碼看起來不錯,任何錯誤信息? – Girish

+0

沒有錯誤信息,但它不工作也 – gaurav

+0

堅持下去,我得到了這個項目實施的地方,讓我找到它。 – ThrowingDwarf

回答

0

所以基本上你想要做的,或者說,你能做的事做的是製作您想要打印的頁面。在新標籤中打開該頁面。然後,在你要打印的頁面的主體的底部,補充一點:

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

這爲我工作而產生的發票。

1

我發現問題爲什麼在鉻不工作。請參考下面的代碼:

<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> 

當你運行上面的代碼顯示了以下錯誤:

enter image description here

所以,解決這個請參考How do I get around window.opener cross-domain security

希望這將幫助: )

相關問題