函数中的window.open替换当前选项卡以及打开新选项卡

Sym*_*een 4 javascript

我有一个有趣的复杂功能我想了解,如果我有window.open作为锚的onclick事件,则根据需要打开一个新选项卡.如果onclick调用一个函数,而该函数又会调用window.open会打开一个新选项卡,但当前选项卡也会获取新的url.

我可以证明它在这里 ,当你点击链接它工作正常,wheras 这里的URL在结果区域也开的!

谢谢Symeon.

Jam*_*ice 5

你的第一个case声明正在落空.你需要添加一个break:

switch (t) {
    case 1: 
        window.open(url,"_blank");
        break;
    case 2: 
        window.location = url;
        break;
}
Run Code Online (Sandbox Code Playgroud)

如果没有break,case那么首先匹配的每一个都将被执行.

我也在break第二个案例中添加了一个,仅仅因为它总是被视为一个好的做法总是break一个案例.实际上,JSLint会将缺失标记break为错误.