0

单击一个链接时,我需要 JavaScript 代码或 HTML 以使两个网站在两个新的浏览器选项卡中打开。我不希望它们在新窗口或链接所在的当前页面上打开。

4

4 回答 4

3

它可能不起作用,因为浏览器可能会将其视为弹出窗口并阻止它。

如果用户允许弹出窗口,您可以执行以下操作:

window.open(url, '_blank');

喜欢:

<a id="mydoublelink" href="http://site1.com" target="_blank">foo</a>

document.getElementById("mydoublelink").onclick=function(){
    window.open('http://site2.com', '_blank');
}
于 2013-03-29T15:49:41.233 回答
2

如果你打电话给window.openonclick应该没问题。内置的弹出窗口阻止程序允许这些。被阻止的弹出窗口类型来自其他事件或来自预定事件,如setTimeout.

document.getElement("my_link").onclick = function () {
    window.open(/*..*/); // works
}

document.getElement("my_link").onclick = function () {
    setTimeout(function () {
        window.open(/*..*/); // will probably get blocked
    });
}

这意味着,例如,如果您在 AJAX 调用之后打开一个弹出窗口,它很可能会被阻止。在这种情况下,一种解决方法是立即打开弹出窗口并稍后填写内容。这超出了这个问题的范围,但我觉得这是每个人都应该知道的信息。

于 2013-03-29T15:54:28.680 回答
0

像这样的东西?

<!DOCTYPE html>
<html>
<head>
<script>
function open_win() 
{
window.open("URL");
open_win_two();
}
function open_win_two()
{
window.open("URL");
}
</script>
</head>
<body>
<a onclick="open_win()">luyfl</a>
</body>
</html>
于 2013-03-29T16:26:21.700 回答
-1

Yu可以尝试新的目标_newtab

<a href="site.html" target="_newtab">blabla</a>

火狐浏览器支持,不知道其他浏览器是否支持。

于 2013-03-29T15:53:08.070 回答