2013-05-11 32 views
0

我在所有瀏覽器的許多網站都看到過這個。當您將鼠標懸停在某個鏈接上時,該URL的預覽會顯示在瀏覽器的某處,並且該URL將顯示在特定的網頁上,如www.google.com。但是,當您點擊它時,會調用另一個頁面,然後最終重定向到最初預覽的鏈接,例如www.somedomain.com/openurl?url=www.google.com。這種功能的目的是將鏈接包裝在一個通用的「點擊計數器」中,這樣​​每個被點擊的鏈接都將通過一個通用服務器被有意識地重定向,然後再被重定向到原始URL。如何使URL預覽與實際遵循的URL不同?

如何在任何類型的HTML頁面中完成此操作?如果它特定於HTML 4或5,無關緊要,我只想知道它是如何完成的基本原理。如果我知道術語,我會用google搜索它。

PS - 我不是在談論URL重寫這是地址欄 - 我說的是當你將鼠標懸停在超鏈接上並且瀏覽器顯示你預覽。

+0

您可以通過截獲'mouseover'事件,並寫入到狀態欄做,但爲什麼你會嗎?我只能想到做這樣的事情的罪魁禍首。 – 2013-05-11 01:08:18

+0

@Kevin這是用於點擊計數,跟蹤人們何時點擊特定鏈接 - 但讓用戶看到鏈接實際導致什麼。許多熱門網站都有這個,比如Google和Facebook。 – 2013-05-11 13:29:43

回答

1

最有可能的javascript,在鏈接上使用a click event handler

這裏有一個基本的例子:

<a href="http://google.com" 
    onclick="window.location.href='http://stackoverflow.com'; return false;"> 

    clicky 
</a> 
+0

任何提及此瀏覽器的兼容性?我的意思是我知道'onclick'事件是要走的路,但我只需確保具體實現對所有瀏覽器都足夠了。 – 2013-05-11 01:46:20

+0

如果啓用javascript,它適用於所有瀏覽器,但它不是附加點擊處理程序的推薦方式。看看[這個Q](http://stackoverflow.com/questions/6348494/addeventlistener-vs-onclick)爲什麼 – 2013-05-11 09:39:38