[英]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.