我正在浏览一个我接管的网站,并在其中一个页面中看到了这个部分:
<a href="javascript:window.location='<%=GetSignOutUrl()%>';">
// img
</a>
显然,任何曾经在没有 javascript 的情况下使用过该网站的人都无法正确注销(令人惊讶的是,这种情况从未出现过)。
首先想到的是
<a href="<%=GetSignOutUrl()" onclick="javascript:window.location='<%=GetSignOutUrl()%>';">
// img
</a>
然后我意识到我根本不知道为什么要保留 javascript 调用。我只是有点困惑,为什么当常规链接可以正常工作时,它一开始会这样写。 window.location 与普通链接相比有什么好处?
这也是我在网站上唯一看到过这样的地方(到目前为止)。
编辑:我之前的程序员非常能干,这实际上就是为什么我想知道是否有我没有考虑到的事情,或者他是否只是简单的疏忽。
最佳答案
三种可能:
- 开发人员试图在发送用户之前强制使用 Javascript。
- 开发人员试图掩盖链接中的 href。也许这是因为它不会被有效地抓取,或者状态栏与它有关。
- 开发人员是一个不墨守成规的人。
我会把它取下来,看看它是否坏了。但话又说回来,我是一个循规蹈矩的人。
关于c# - 为什么要在超链接中使用 window.location?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3480737/