2016-03-18 153 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

希望这将帮助: )

相关问题