href 链接不适用于 Safari 中的 onclick 事件
href links not working with onclick events in Safari
<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 中,单击 link 将在当前 window 中打开 Google 并在新的 tab/window 中打开 somepage.html
但在 Safari 中,它只会在当前 window 中打开 Google,而不会打开其他任何东西。
如何让 Safari 复制其他浏览器?
location.href
只会改变当前window的URL。为了打开一个新标签或 window,最好使用 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。如果您想要那样,只需像这样切换 URLs:
<a href="www.google.com" onclick="javascript:ref()">CLICK ME</a>
<script type="text/javascript">
function ref() {
window.open('/somepage.html', '_blank');
}
</script>
旁注,我发现 Safari 允许用户处理他们想要的 windows 打开方式,无论是新的 window 还是标签页,不幸的是我们没有任何控制在那之上。
<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 中,单击 link 将在当前 window 中打开 Google 并在新的 tab/window 中打开 somepage.html
但在 Safari 中,它只会在当前 window 中打开 Google,而不会打开其他任何东西。
如何让 Safari 复制其他浏览器?
location.href
只会改变当前window的URL。为了打开一个新标签或 window,最好使用 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。如果您想要那样,只需像这样切换 URLs:
<a href="www.google.com" onclick="javascript:ref()">CLICK ME</a>
<script type="text/javascript">
function ref() {
window.open('/somepage.html', '_blank');
}
</script>
旁注,我发现 Safari 允许用户处理他们想要的 windows 打开方式,无论是新的 window 还是标签页,不幸的是我们没有任何控制在那之上。