JavaScript弹出问题

时间:2010-11-11 16:29:31

标签: javascript javascript-events

仅在IE中发生(适用于Chrome,Firefox):

我第一次点击链接时,会弹出弹出窗口,第二次,它只是将我重定向到页面。

当我刷新页面时,弹出窗口第一次工作,然后第二次,它再次重定向。

function popUpWindow(win) {
  myWindow = window.open(win, "popupwin", "height=310,width=570,resizeable=0, menubar=0,toolbar=0,location=0, directories=0,status=0");
}

这就是我调用函数的方法

 <a href="#" onclick="popUpWindow('/usere.htm'); return false;">User Status</a>

编辑:我道歉,第二次,它没有重定向,当我点击链接时没有任何反应它正在重定向。

编辑:我在第一次打开时关闭弹出窗口,然后再次单击弹出链接。

我尝试了下面介绍的所有解决方案,我发现第二次点击链接时没有调用JavaScript方法。

3 个答案:

答案 0 :(得分:0)

检查窗口是否已打开或已打开并随后关闭。如果弹出窗口存在,则以下将关注弹出窗口,否则打开弹出窗口。目前尚不清楚你是否总是想要一个新的弹出窗口,或者现有的弹出窗口是否足够好。

var myWindow = null;

function popUpWindow(win) {
  if (!myWindow || myWindow.closed) {
    myWindow = window.open(win, "popupwin", "height=310,width=570,resizeable=0, menubar=0,toolbar=0,location=0, directories=0,status=0");
  } else {
    myWindow.focus();
  }
}

如果您想在打开新弹出窗口之前关闭现有弹出窗口:

var myWindow = null;

function popUpWindow(win) {
  if (myWindow && !myWindow.closed) {
    myWindow.close();
  }
  myWindow = window.open(win, "popupwin", "height=310,width=570,resizeable=0, menubar=0,toolbar=0,location=0, directories=0,status=0");
}

答案 1 :(得分:0)

我假设你要刷新你会这样做的窗口:

var myWindow = null;
function popUpWindow(win) {
    if (myWindow && !myWindow.closed) {
        myWindow.close();  
    }
    myWindow = window.open(win, name, options);
}

答案 2 :(得分:0)

如果问题是第二次重定向弹出窗口,则根据代码这是正确的行为。指定name参数,以便可以重用弹出窗口。我不一定推荐这个,但您可以使用它来打开多个弹出窗口:

var popupIndex = 0;
function popUpWindow(win) {
  myWindow = window.open(win, "popupwin" + popupIndex++, "height=310,width=570,resizeable=0, menubar=0,toolbar=0,location=0, directories=0,status=0");
}