为什么在超链接中使用window.location?

时间:2010-08-13 21:20:28

标签: 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对常规链接有什么好处?

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

编辑:在我之前的程序员非常称职,这实际上是我想知道是否有一些我没有考虑到的事情,或者他是否只是做了一个简单的疏忽。

4 个答案:

答案 0 :(得分:3)

有三种可能性:

  1. 开发人员试图在发送用户之前强制使用Javascript。
  2. 开发人员试图屏蔽链接中的href。也许这是因为它不会被有效地抓取,或状态栏与它有关。
  3. 开发人员是不守规矩的人。
  4. 我会删除它,看看它是否破裂。但话说回来,我是一个顺从者。

答案 1 :(得分:1)

我的猜测是,如果开发人员不知道考虑客户端执行javascript的能力,他们可能不知道href是什么。这不太可能,但并非不可能。

答案 2 :(得分:0)

可能是因为可能使用了多个域,哪些域名不清楚或者代码中不易获得?

答案 3 :(得分:0)

这可能是试图隐藏搜索引擎的链接。