Javascript 禁用警报中的“确定”按钮

Javascript 禁用警报中的“确定”按钮,javascript,jsp,alert,Javascript,Jsp,Alert,有没有办法在java脚本中禁用警报的“Ok”按钮 我有一个java脚本函数,它调用两个不同的窗口,第二个窗口弹出被警报延迟,因为我需要在第一个打开的窗口中完成某些操作后打开它。我需要禁用警报,直到第一个窗口中的某些操作完成。请提出一些建议 下面是通过单击按钮调用的js函数(myFunction()),打开两个窗口: function myFunction() { myFunction2(); alert("Please wait...");

有没有办法在java脚本中禁用警报的“Ok”按钮

我有一个java脚本函数,它调用两个不同的窗口,第二个窗口弹出被警报延迟,因为我需要在第一个打开的窗口中完成某些操作后打开它。我需要禁用警报,直到第一个窗口中的某些操作完成。请提出一些建议

下面是通过单击按钮调用的js函数(myFunction()),打开两个窗口:

    function myFunction() {
        myFunction2();
        alert("Please wait...");
        myFunction1();
    }

    function myFunction2() {
        var x ="sce";
        var URL ="Multiple.jsp?viewStatus="+x;
        var windowName = "showDeb";
          var width  = screen.availWidth;
          var height = screen.availHeight;
          var w = 900;
          var h =   500;
          var features =
            'width='          + w +
            ',height='        + h +
            ',left='          + ((width - w - 10) * .5)  +
            ',top='           + ((height - h - 30) * .5) +
            ',directories=no' +
            ',location=no'    +
            ',menubar=no'     +
            ',scrollbars=yes' +
            ',status=no'      +
            ',toolbar=no'     +
            ',resizable=false';

           var strOpen = window.open (URL, windowName, features);
           strOpen.focus();
           myFunction1();
    }
    function myFunction1() {
        var x ="deb";
        var URL ="Multiple.jsp?viewStatus="+x;
        var windowName = "showSce";
           var width  = screen.availWidth;
           var height = screen.availHeight;
           var w = 900;
           var h =  500;
           var features =
               'width='          + w +
               ',height='         + h +
               ',left='       + ((width - w - 10) * .5)  +
               ',top='            + ((height - h - 30) * .5) +
               ',directories=no' +
               ',location=no'     +
               ',menubar=no'      +
               ',scrollbars=yes' +
               ',status=no'   +
               ',toolbar=no'      +
               ',resizable=false';

            var strOpen = window.open (URL, windowName, features);
            strOpen.focus();
    }

我建议您使用cookies在窗口之间进行通信。 在窗口1中,一旦进程完成,就设置cookie

var date = new Date();
date.setDate(date.getDate()+1); 
document.cookie = "name=win1; path=/; expires="+date.toGMTString()
在将打开窗口2的父文件中,添加计时器以等待窗口1设置cookie

   var myVar = setInterval(myTimer, 1000); // Poll every second to check if window 1 has completed its execution by checking cookie.
   function myTimer() {
      var cookies = document.cookie.split(";");

      for (var i = 0; i < cookies.length; i++) {
        if (cookies[i].trim() == "name=win1") {
          // stop timer and open win 2
          clearTimeout(myVar);
          document.getElementById("msg2").innerHTML = "Process in window 1 completed";

         // <<< Open window 2 here >>>

          var dateNow = new Date();
          document.cookie = "name=win1; path=/; expires="+dateNow.toGMTString();
        }
      }
下面是一个例子,说明了这一点。确保您允许弹出窗口,因为它将尝试打开新窗口。

谢谢你的建议。但我有一个问题,我从上面了解到,如果我知道在窗口1中完成流程所需的时间,我可以使用这种方式。在我的情况下,时间不是固定的,它可以更多地基于数据,您不需要知道在窗口1中完成流程所需的时间。正如您所说,在窗口1中运行的进程是基于数据的,一旦进程完成,您将需要设置cookie。父窗口中打开窗口2的计时器将每秒轮询一次(可配置),以检查cookie是否已设置,直到窗口1设置cookie为止。您还可以保持超时(如30分钟),以防您想要在父级中停止无限时间的轮询。
var dateNow = new Date();
document.cookie = "name=win1; path=/; expires="+dateNow.toGMTString();