以下HTML向我的REST WebService发送两个请求:
<a href="/pathto/web/service/3201329" target="_blank">
<img class="downloadImg" src="static/images/download_icon.png">
</a>
如果我删除'target =“_ blank”'位,它只会向我的WebService发送一个请求。在尝试使用JavaScript时,我注意到了相同的行为:
onclick="window.open(this.href)"
为什么会发生这种情况的任何想法?谢谢你的帮助!
更新:我的用户端出现了错误。在上一次迭代中,我为图像添加了一个单击处理程序。我不确定为什么我会用HREF重复这项工作,但这就是问题所在。谢谢你看看。
答案 0 :(得分:1)
我无法在第一个场景中看到这种情况,因为它只是一个普通的链接。
我可能会在第二次看到它发生。 onclick事件使用url打开一个新窗口。它将执行返回给浏览器,然后标签的标准导航接管并转到页面。
尝试:
onclick="window.open(this.href); return false;"
顺便说一句,现在使用内联javascript有点不受欢迎。现在的方法是在文档加载时添加一个单击处理程序。这确实超出了这个问题的范围......
答案 1 :(得分:1)
如果你想用javascript方式做,你不必使用target =“_ blank”。您可以在锚标记之前调用脚本,如下所示:
<script>
function popup(url) {
alert (url);
newwindow= window.open(url);
if (window.focus) {newwindow.focus()}
return false;
}
</script>
然后像这样的锚标签:
<a href="" onclick="return popup('http://www.example.com')"></a>