感谢@Francois Wahl - 超时解决方案有效。我的打印选项中有一个href,它阻止了它的工作。通过删除它,打印页面选项可以延迟两秒。谢谢大家!!!!!
我有以下脚本,需要在const electron = require('electron');
var menu = electron.Menu.buildFromTemplate([
{
label: 'Electron',
submenu: [
{
label: 'Options',
click: function() {
alert('Test');
}
}
]
}
]);
electron.Menu.setApplicationMenu(menu);
之后添加延迟,以便在运行WinPrint.focus();
之前等待一两秒。
我尝试了很多延迟来自这个和其他论坛的方法,没有运气。任何帮助将非常感谢。
当我使用setTimeout函数时,它会阻止其中的代码运行。
WinPrint.print();
我尝试了以下内容:
<script type="text/javascript">
$('a.print-pdf-link').click(function () {
var prtContent = document.getElementById("page-content");
var WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0');
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
});
</script>
和
<script type="text/javascript">
$('a.print-pdf-link').click(function () {
var prtContent = document.getElementById("page-content");
var WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0');
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
setTimeout(function(){
WinPrint.print();
WinPrint.close();
}, 2000)
});
</script>
和
<script type="text/javascript">
$('a.print-pdf-link').click(function () {
var prtContent = document.getElementById("page-content");
var WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0');
var myVar;
function myFunction() {
myVar = setTimeout(alertFunc, 3000);
}
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
function alertFunc() {
WinPrint.print();
WinPrint.close();
}
});
</script>
答案 0 :(得分:1)
您可以使用setTimeout
。试试这可能对你有所帮助。
<script type="text/javascript">
$('a.print-pdf-link').click(function () {
var prtContent = document.getElementById("page-content");
var WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0');
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
setTimeout(function(){
WinPrint.print();
WinPrint.close();
}, 2000)
});
</script>
答案 1 :(得分:0)
使用setTimeout方法。
$('a.print-pdf-link').click(function () {
setTimeout(function () {
var prtContent = document.getElementById("page-content");
var WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0');
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
}, 10);
});
这将在10毫秒后执行此方法。