javascript的渐进增强与平稳退化浅谈 |
在google.com.hk的左上角,有一个更多的链接,它具有一个目标地址,但是当我们点击时,大多数情况发现的是弹出一个下拉列表供用户选择(这是一种典型的渐进增强形式) 。怎么理解?——如果用户的浏览器支持javascript,那么就可以享受到这种快速导航的服务功能 。 现在,请你禁用的你的浏览器的javascript功能(不会禁用猛击这里),再次访问google.com.hk,再次点击更多时,发生了什么?是的,没有看到下拉列表,而打开了一个新页面 。(这是一种典型的平稳退化) 。怎么理解?——如果用户的浏览器不支持javascript,用户仍然能够访问我的网站 。 如何实现类似google的这一功能? 复制代码 代码如下: <script type="text/javascript"> function displayMenu() { //显示导航列表; } </script> <a href="目标页面" onclick="displayMenu(); return false;">更多»</a> 解释:displayMenu()是一个显示导航列表的功能函数(这里省略它的实现,因为讨论的并不是这个) 现在我们来看:如果你的浏览器支持javascript时,那么onclick后的代码肯定会被执行 。否则,onclick后的代码不会被执行,那就会发生页面的跳转 。这样不管是否支持javascript,用户都能顺利的访问我的网站 。 下面是另一个类似的例子,它在新窗口中打开一个链接,但是我们并没有指定target,如果用户的浏览器不支持javascript,它将在当前页面中打开链接,如下: 复制代码 代码如下: <!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> |