c# - 为什么要在超链接中使用 window.location?

标签 c# javascript asp.net html

我正在浏览一个我接管的网站,并在其中一个页面中看到了这个部分:

<a href="javascript:window.location='<%=GetSignOutUrl()%>';">
  // img
</a>

显然,任何曾经在没有 javascript 的情况下使用过该网站的人都无法正确注销(令人惊讶的是,这种情况从未出现过)。

首先想到的是

<a href="<%=GetSignOutUrl()" onclick="javascript:window.location='<%=GetSignOutUrl()%>';">
   // img
</a>

然后我意识到我根本不知道为什么要保留 javascript 调用。我只是有点困惑,为什么当常规链接可以正常工作时,它一开始会这样写。 window.location 与普通链接相比有什么好处?

这也是我在网站上唯一看到过这样的地方(到目前为止)。

编辑:我之前的程序员非常能干,这实际上就是为什么我想知道是否有我没有考虑到的事情,或者他是否只是简单的疏忽。

最佳答案

三种可能:

  1. 开发人员试图在发送用户之前强制使用 Javascript。
  2. 开发人员试图掩盖链接中的 href。也许这是因为它不会被有效地抓取,或者状态栏与它有关。
  3. 开发人员是一个不墨守成规的人。

我会把它取下来,看看它是否坏了。但话又说回来,我是一个循规蹈矩的人。

关于c# - 为什么要在超链接中使用 window.location?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3480737/

相关文章:

c# - Slider 回调函数的签名是什么?

c# - Windows -C# - 没有连接线的 TreeView

javascript - 在我的网站中嵌入日历

javascript - ASP.NET 查询字符串第二个值

c# - 以编程方式将标准和超链接列表项的混合添加到 ASP.NET 中的元素符号列表

c# - Outlook 对话历史记录

c# - 设置WebBrowser.DocumentText而不导航到about:blank

javascript - 如何处理 Bootstrap 工具提示中的长文本值?

javascript - 如何访问通过函数传回的 Promise?

asp.net - 如何在 ASP.NET 中获取集合格式的发布数据?