href链接无法与Safari中的onclick事件一起使用

时间:2015-01-05 15:35:24

标签: javascript html safari onclick

<script type="text/javascript">
function ref() {
    location.href = 'http://www.google.com';
}
</script>

<a target="_blank" href="/somepage.html" onclick="javascript:ref()">CLICK ME</a>

在Chrome,FF和IE中,点击该链接会在当前窗口中打开Goog​​le并在新标签/窗口中打开somepage.html

但在Safari中,它只会在当前窗口中打开Goog​​le,而不是别的。

如何让Safari复制其他浏览器?

1 个答案:

答案 0 :(得分:4)

location.href只会更改当前窗口的网址。要打开新标签页或窗口,最好使用window.open。我在Safari中专门测试了它(和Chrome),它在两种浏览器中都有效。

<a href="/somepage.html" onclick="javascript:ref()">CLICK ME</a>


<script type="text/javascript">
function ref() {
    window.open('http://www.google.com', '_blank');
}
</script>

您编写的方式,somepage.html将在新标签页中打开,当前页面将重定向到Google。如果你想这样,只需像这样切换URL:

<a href="www.google.com" onclick="javascript:ref()">CLICK ME</a>


<script type="text/javascript">
function ref() {
    window.open('/somepage.html', '_blank');
}
</script>

旁注,我发现Safari允许用户处理他们想要打开窗户的方式,无论是新窗口还是标签,不幸的是我们对此没有任何控制权。