[英]How does Google mask the real URLs of links on search results pages?
以下我在最新版本的Chrome和Firefox以及IE11上进行了测试,结果相同。
如果您执行Google搜索,然后将鼠标悬停在搜索结果页面上的链接上,则浏览器窗口左下角显示的链接与a
元素的实际href
不同。
在我测试过的所有三个浏览器中,如果你检查元素检查器中的链接,你可以很容易地看到真实链接(这是www.google.com
),当检查器打开时,如果你鼠标悬停在再次链接,然后您将在浏览器窗口的左下角看到真实的URL链接。
关于这种行为,我有两个问题吗?
谢谢。
看一下初始标记:
<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>
最初, 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
要回答您的问题:他们使用onmousedown
属性在您单击时更改链接的href
属性。 巴马尔指出他们为什么这样做。
结果页面中的链接指向Google服务器上的重定向页面。 他们这样做,以便他们可以跟踪人们点击的链接。 这比使用Javascript更可靠,因为它不要求用户启用Javascript。
您可以在URL的url
参数中查看链接的最终目标。
当用户单击href
, onmousedown
事件处理程序将在默认行为启动之前执行。此时间范围用于更改锚标记的href。
看看这个代码的简化版本:
<a href="https://www.google.com/" data-href='https://www.yahoo.com/' onmousedown="this.href = this.dataset.href" >Link</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.