在google.com.hk的左上角,有一個更多的鏈接,它具有一個目標地址,但是當我們點擊時,大多數情況發現的是彈出一個下拉列表供用戶選擇(這是一種典型的漸進增強形式)。怎么理解?――如果用戶的瀏覽器支持javascript,那么就可以享受到這種快速導航的服務功能。
現在,請你禁用的你的瀏覽器的javascript功能(不會禁用猛擊這里),再次訪問google.com.hk,再次點擊更多時,發生了什么?是的,沒有看到下拉列表,而打開了一個新頁面。(這是一種典型的平穩退化)。怎么理解?――如果用戶的瀏覽器不支持javascript,用戶仍然能夠訪問我的網站。
如何實現類似google的這一功能?
<a href="目標頁面" onclick="displayMenu(); return false;">更多»</a>
解釋:displayMenu()是一個顯示導航列表的功能函數(這里省略它的實現,因為討論的并不是這個)
onclick指定了鏈接的點擊事件。
return false : 取消了瀏覽器的默認行為(這樣就執行了displayMenu(),而不發生頁面的跳轉了),這個不可省略(當然你可省略試試看,有助于你的理解)
現在我們來看:如果你的瀏覽器支持javascript時,那么onclick后的代碼肯定會被執行。否則,onclick后的代碼不會被執行,那就會發生頁面的跳轉。這樣不管是否支持javascript,用戶都能順利的訪問我的網站。
下面是另一個類似的例子,它在新窗口中打開一個鏈接,但是我們并沒有指定target,如果用戶的瀏覽器不支持javascript,它將在當前頁面中打開鏈接,如下:
<body>
<ul>
<li><a onclick="popup(this.href); return false;">百度</a></li>
<li><a onclick="popup(this.href); return false;">google</a></li>
</ul>
</body>
</html>
新聞熱點
疑難解答