我想这可能是一个重复的问题,但现有的答案并没有多大帮助。
所以,我有以下功能,我已注册点击链接:
function open_new()
{
if (win===null)
{
win=window.open("url","_blank");
}
else{
win.location.href="url";
win.focus();}
}
不要担心逻辑。简单来说,如果用户在父窗口中第一次点击链接,它会在新窗口中打开网址,如窗口2所示。
现在问题出现了 - >我回到父窗口,然后再次单击该链接。它设置窗口2的href,重新加载但不聚焦。它仍然会保留在父窗口上。
注意:这在chrome中非常有效。
答案 0 :(得分:0)
答案 1 :(得分:0)
确实,这似乎不适用于IE。改为在IE中重新打开窗口会有问题吗?您可以通过浏览器检查仅在IE中执行此操作或始终执行此操作。
function isIE() /* taken from http://stackoverflow.com/a/20881274/265165 */
{
var isIE11 = navigator.userAgent.indexOf(".NET CLR") > -1;
var isIE11orLess = isIE11 || navigator.appVersion.indexOf("MSIE") != -1;
return isIE11orLess;
}
var win;
function openWindow() {
if (win == null) {
win = window.open("url", "_blank");
}
else if (isIE()) {
win.close();
win = window.open("url", "_blank");
}
else {
win.location.href = "url";
win.focus();
}
);