簡體   English   中英

Google如何掩蓋搜索結果頁面上鏈接的真實網址?

[英]How does Google mask the real URLs of links on search results pages?

以下我在最新版本的Chrome和Firefox以及IE11上進行了測試,結果相同。

如果您執行Google搜索,然后將鼠標懸停在搜索結果頁面上的鏈接上,則瀏覽器窗口左下角顯示的鏈接與a元素的實際href不同。
在我測試過的所有三個瀏覽器中,如果你檢查元素檢查器中的鏈接,你可以很容易地看到真實鏈接(這是www.google.com ),當檢查器打開時,如果你鼠標懸停在再次鏈接,然后您將在瀏覽器窗口的左下角看到真實的URL鏈接。

關於這種行為,我有兩個問題嗎?

  1. 雖然也許有點天真,但為什么Google會這樣做呢?
  2. 谷歌如何做到這一點? 因為我在Chrome,Firefox和IE11中看到了這種行為,我認為這是一些JavaScript控制的行為(與一些瀏覽器控制的行為相反),但我從來沒有聽說過這種可能性在JavaScript中。 如果可以在JavaScript中,你怎么做?

謝謝。

看一下初始標記:

<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參數中查看鏈接的最終目標。

當用戶單擊hrefonmousedown事件處理程序將在默認行為啟動之前執行。此時間范圍用於更改錨標記的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM