我不能在Java Script中工作

时间:2016-12-21 09:08:54

标签: javascript

感谢@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>

2 个答案:

答案 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毫秒后执行此方法。