Google如何掩盖搜索结果页面上链接的真实网址?

Har*_*San 6 javascript url href google-search web-inspector

以下我在最新版本的Chrome和Firefox以及IE11上进行了测试,结果相同.

如果您执行Google搜索,然后将鼠标悬停在搜索结果页面上的链接上,则浏览器窗口左下角显示的链接href与该a元素的实际内容不同.
在我测试过的所有三个浏览器中,如果你检查元素检查器中的链接,你可以很容易地看到真实链接(这是www.google.com),当检查器打开时,如果再次将鼠标悬停在链接上,那么你将在浏览器窗口的左下角看到真实的URL链接.

关于这种行为,我有两个问题吗?

  1. 虽然也许有点天真,但为什么Google会这样做呢?
  2. 谷歌如何做到这一点?因为我在Chrome,Firefox和IE11中看到了这种行为,我认为这是一些JavaScript控制的行为(与一些浏览器控制的行为相反),但我从来没有听说过这种可能性在JavaScript中.如果可以在JavaScript中,你怎么做?

谢谢.

PoB*_*lek 9

看一下初始标记:

<a onmousedown="return rwt(this,'','','','3','AFQjCNF8xnW_qOvuZURbtcZUvB6zhKtRQw','35cXyZwuoZY8hBY1VfDr8Q','0CEAQFjAC','','',event)"
      href="http://en.wikipedia.org/wiki/How_Do_You_Do_It%3F">
   <em>How Do You Do It</em>? - Wikipedia, the free encyclopedia
</a>
Run Code Online (Sandbox Code Playgroud)

最初,该href属性显示"真实"URL.但是当您单击链接时,该rwt函数会将属性值更改为

http://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&ved=0CEAQFjAC&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHow_Do_You_Do_It%253F&ei=8nSMUqXtLKfe4QSzwIDADQ&usg=AFQjCNF8xnW_qOvuZURbtcZUvB6zhKtRQw&sig2=35cXyZwuoZY8hBY1VfDr8Q&bvm=bv.56643336,d.bGE
Run Code Online (Sandbox Code Playgroud)

要回答您的问题:他们使用该属性在您单击时onmousedown更改链接的href属性.巴马尔指出他们为什么这样做.

  • 啊,我没有看到,因为我右键点击链接使用`Inspect element`,这改变了链接! (2认同)