javascript的渐进增强与平稳退化浅谈

 更新时间:2013年11月12日 15:46:51   作者:  
javascript的渐进增强与平稳退化浅谈

在google.com.hk的左上角,有一个更多的链接,它具有一个目标地址,但是当我们点击时,大多数情况发现的是弹出一个下拉列表供用户选择(这是一种典型的渐进增强形式)。怎么理解?——如果用户的浏览器支持javascript,那么就可以享受到这种快速导航的服务功能。

现在,请你禁用的你的浏览器的javascript功能(不会禁用猛击这里),再次访问google.com.hk,再次点击更多时,发生了什么?是的,没有看到下拉列表,而打开了一个新页面。(这是一种典型的平稳退化)。怎么理解?——如果用户的浏览器不支持javascript,用户仍然能够访问我的网站。

如何实现类似google的这一功能?

复制代码 代码如下:

<script type="text/javascript">
 function displayMenu() {
    //显示导航列表;
 }
 </script>

 <a href="目标页面" onclick="displayMenu(); return false;">更多&raquo;</a>

解释:displayMenu()是一个显示导航列表的功能函数(这里省略它的实现,因为讨论的并不是这个)
onclick指定了链接的点击事件。
return false : 取消了浏览器的默认行为(这样就执行了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>
<ul>
    <li><a href="http://www.baidu.com/" onclick="popup(this.href); return false;">百度</a></li>
    <li><a href="http://www.google.com.hk/" onclick="popup(this.href); return false;">google</a></li>
</ul>
</body>
</html>

相关文章

  • 解决给dom元素绑定click等事件无效问题的方法

    解决给dom元素绑定click等事件无效问题的方法

    本文主要介绍了解决给dom元素绑定click等事件无效问题的方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JavaScript中的继承方式详解

    JavaScript中的继承方式详解

    这篇文章主要介绍了JavaScript中的继承方式详解,本文讲解了js继承的概念、原型式继承与类式继承、原型链继承、类式继承、组合继承、原型式继承等内容,需要的朋友可以参考下
    2015-02-02
  • js实现左侧网页tab滑动门效果代码

    js实现左侧网页tab滑动门效果代码

    这篇文章主要介绍了js实现左侧网页tab滑动门效果代码,涉及JavaScript页面元素的遍历及元素属性动态切换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • JS前端实现留言板功能的方法总结

    JS前端实现留言板功能的方法总结

    留言板的主要使用场景是为用户提供一个在网站或应用上留言的平台,本文主要为大家介绍了四个常见的前端实现留言板功能的方法,希望对大家有所帮助
    2023-11-11
  • JavaScript异步编程常见面试题汇总

    JavaScript异步编程常见面试题汇总

    本文将带大家学习异步编程这一块内容,鉴于异步编程是js中至关重要的内容,所以我们将学习异步编程涉及到的重点和难点,同时这一块内容也是面试常考范围,希望对大家有所帮助
    2023-02-02
  • JS实现跟随鼠标闪烁转动色块的方法

    JS实现跟随鼠标闪烁转动色块的方法

    这篇文章主要介绍了JS实现跟随鼠标闪烁转动色块的方法,涉及javascript操作html元素及css样式的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • js中什么时候不能使用箭头函数

    js中什么时候不能使用箭头函数

    箭头函数是和我们工作密切相关的东西,本文主要介绍了js中什么时候不能使用箭头函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 如何使用less实现随机下雪动画详解

    如何使用less实现随机下雪动画详解

    这篇文章主要给大家介绍了关于如何使用less实现随机下雪动画的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • JavaScript兼容性总结之获取非行间样式案例

    JavaScript兼容性总结之获取非行间样式案例

    这篇文章主要介绍了JavaScript兼容性总结之获取非行间样式的相关资料,需要的朋友可以参考下
    2016-08-08
  • 使用js原生实现年份轮播选择效果实例

    使用js原生实现年份轮播选择效果实例

    这篇文章主要给大家介绍了关于如何使用js原生实现年份轮播选择效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论