是不是资源没有回收
NetScape仍然认为小窗口已经打开?
我的想法,有点无稽。

解决方案 »

  1.   

    guihengzhang:我也考虑过这种可能,但每次弹出都会更新dialogWin.win,不应该呀
    woyingjie :窗口名是用toDay.getTime(); 设定的,应该不会重名我将代码整理一下:
    function openDialog(url, width, height, returnFunc, args) {
        if (!dialogWin.win || (dialogWin.win && dialogWin.win.closed)) {
    // Initialize properties of the modal dialog object.
    dialogWin.returnFunc = returnFunc
    dialogWin.returnedValue = ""
    dialogWin.args = args
    dialogWin.url = url
    dialogWin.width = width
    dialogWin.height = height // Keep name unique so Navigator doesn't overwrite an existing dialog.
    var toDay = new Date();
    dialogWin.name = toDay.getTime(); 
    // Assemble window attributes and try to center the dialog.
    if (Nav4) {
        dialogWin.left = window.screenX + 
       ((window.outerWidth - dialogWin.width) / 2)
        dialogWin.top = window.screenY + 
       ((window.outerHeight - dialogWin.height) / 2)
        var attr = "modal,dialog,screenX="  + dialogWin.left 
                            + ",screenY=" + dialogWin.top 
                            + ",resizable=no,width=" + dialogWin.width 
                            + ",height=" + dialogWin.height
    } else {
        dialogWin.left = (screen.width - dialogWin.width) / 2
        dialogWin.top = (screen.height - dialogWin.height) / 2
        var attr = "modal,dialog,left=" + dialogWin.left 
                           + ",top=" + dialogWin.top 
                           + ",resizable=no,width=" + dialogWin.width 
                           + ",height=" + dialogWin.height
    }

    globalAttr = attr;
    alert("in openDialog attr = " + globalAttr 
    + "\ndialogWin.url = " + dialogWin.url 
                      + "\nurl = " + url 
    + "\ndialogWin.name = " + dialogWin.name);
    dialogWin.win=window.open(dialogWin.url, dialogWin.name, attr)
    //if (dialogWin.win == null) {
    alert("dialogWin.win = " + window.open);
    //}
    dialogWin.win.focus()
        } else {
            dialogWin.win.focus()
        }
        return dialogWin.win;
    }
      

  2.   

    测试了一天,发现运行到调用window.open时,画面没有加载,方法一直没有返回,其他的NetScape窗口上无法操作。高手们帮帮忙啊!!