javascript的漸進(jìn)增強與平穩(wěn)退化淺談
在google.com.hk的左上角,有一個更多的鏈接,它具有一個目標(biāo)地址,但是當(dāng)我們點擊時,大多數(shù)情況發(fā)現(xiàn)的是彈出一個下拉列表供用戶選擇(這是一種典型的漸進(jìn)增強形式)。怎么理解?——如果用戶的瀏覽器支持javascript,那么就可以享受到這種快速導(dǎo)航的服務(wù)功能。
現(xiàn)在,請你禁用的你的瀏覽器的javascript功能(不會禁用猛擊這里),再次訪問google.com.hk,再次點擊更多時,發(fā)生了什么?是的,沒有看到下拉列表,而打開了一個新頁面。(這是一種典型的平穩(wěn)退化)。怎么理解?——如果用戶的瀏覽器不支持javascript,用戶仍然能夠訪問我的網(wǎng)站。
如何實現(xiàn)類似google的這一功能?
<script type="text/javascript">
function displayMenu() {
//顯示導(dǎo)航列表;
}
</script>
<a href="目標(biāo)頁面" onclick="displayMenu(); return false;">更多»</a>
解釋:displayMenu()是一個顯示導(dǎo)航列表的功能函數(shù)(這里省略它的實現(xiàn),因為討論的并不是這個)
onclick指定了鏈接的點擊事件。
return false : 取消了瀏覽器的默認(rèn)行為(這樣就執(zhí)行了displayMenu(),而不發(fā)生頁面的跳轉(zhuǎn)了),這個不可省略(當(dāng)然你可省略試試看,有助于你的理解)
現(xiàn)在我們來看:如果你的瀏覽器支持javascript時,那么onclick后的代碼肯定會被執(zhí)行。否則,onclick后的代碼不會被執(zhí)行,那就會發(fā)生頁面的跳轉(zhuǎn)。這樣不管是否支持javascript,用戶都能順利的訪問我的網(wǎng)站。
下面是另一個類似的例子,它在新窗口中打開一個鏈接,但是我們并沒有指定target,如果用戶的瀏覽器不支持javascript,它將在當(dāng)前頁面中打開鏈接,如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>在新窗口打開鏈接的另一種方式</title>
<script type="text/javascript">
function popup(url) { window.open(url); }
</script>
</head>
<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>
相關(guān)文章
js實現(xiàn)左側(cè)網(wǎng)頁tab滑動門效果代碼
這篇文章主要介紹了js實現(xiàn)左側(cè)網(wǎng)頁tab滑動門效果代碼,涉及JavaScript頁面元素的遍歷及元素屬性動態(tài)切換的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09JS實現(xiàn)跟隨鼠標(biāo)閃爍轉(zhuǎn)動色塊的方法
這篇文章主要介紹了JS實現(xiàn)跟隨鼠標(biāo)閃爍轉(zhuǎn)動色塊的方法,涉及javascript操作html元素及css樣式的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02JavaScript兼容性總結(jié)之獲取非行間樣式案例
這篇文章主要介紹了JavaScript兼容性總結(jié)之獲取非行間樣式的相關(guān)資料,需要的朋友可以參考下2016-08-08