2010-07-09 26 views
0

當我看到這個鏈接的源中,只有這個功能谷歌「改變背景圖像」鏈接如何工作?

javascript:void(0) 

,並沒有別的,我找了使用JavaScript:無效(0),但沒有在那裏用得不多的地方單獨。那麼祕密是什麼?

+0

谷歌是我所見過沒有讓人們最好的網站的人知道他們是如何做到的東西。他們在這方面非常聰明。 B **** rds – RSM 2010-07-09 07:50:52

+0

哪個鏈接?你的意思是Google主頁嗎? – dolmen 2010-07-09 08:21:54

+0

@Dolmen,是的谷歌主頁左下角的鏈接 – stckvrflw 2010-07-09 08:24:53

回答

2

從來源:

<div id=cpf style="display: none; margin: 0 8px; position: relative;"class=fade><a href="javascript:void(0)" style="bottom: 0;display:inline;font-family:arial, san-serif;font-size:small;left:0;position:absolute;">Change background image</a></div> 
..... 
var a=document.getElementById("cpf"); 
..... 
var c=a.getElementsByTagName("a")[0]; 
if(!c.onclick)c.onclick=function(){ 
var d="https://www.google.com/accounts/ServiceLogin?continue\x3dhttp://www.google.com/webhp%3Fhl%3Den%26cplp%3D\x26hl\x3den\x26service\x3dig\x26ltmpl\x3daddphoto"; 
..... 
1

其他地方有一個JavaScript函數附加到onclick事件。下面是一個例子與jquery

$('#linkid').click(function() { 
    window.location.href = 'http://yahoo.com'; 
    return false; 
}); 

因此,有可能附着JavaScript操作到DOM元素。這些javascript函數可以位於其他一些被混淆的文件中,所以不要驚訝你沒有找到它。一個好的工具,如FireBug可以幫助你通過JS代碼進行調試。

+0

和鏈接似乎並沒有一個ID?我正在用螢火蟲看它。這裏的#linkid是什麼? – stckvrflw 2010-07-09 07:53:28

+0

使用'id'不是查找DOM元素的唯一方法。看看選擇器(http://api.jquery.com/category/selectors/)。 – 2010-07-09 07:54:23

+0

@stckvrflw:使用封閉div的id,請參閱我的帖子。 – 2010-07-09 08:10:09

1

確實,jQuery在某處添加了一個onclick事件。在Chrome中,右鍵點擊鏈接並選擇檢查元素。在右下角,底部應該有一個叫做事件監聽器的部分。這會告訴你發生了什麼事。

1
var a=document.getElementById("cpf") 

圍繞鏈接的div具有'cpf'的標識。上面的那個引用了那個。搜索'cpf',你會看到另一個參考。我沒有分析過JS如何工作,但這可能是如何引用錨標籤的。

編輯:

我使用Web Developer toolbar爲Firefox看JavaScript的網頁上,用少一點麻煩。