• javascript的渐进增强与平稳退化


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

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

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

    1 <script type="text/javascript">
    2  function displayMenu() {
    3 //显示导航列表;
    4  }
    5  </script>
    6
    7  <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>

    转载请注明:转载自web前端开发

  • 相关阅读:
    windows批处理命令笔记
    linux 配置互访免密登录 sshkeygen
    jenkins 中 pipeline 管理部署服务到k8s 插件总结
    求教:Net环境导致WPF程序无法启动
    读《C程序设计语言》笔记11
    求教:.Net Framework 3.5 SP1安装失败
    设计模式
    flash基本操作二库面板和元件创建
    AUTOCAD自学教程一
    flash基本操作
  • 原文地址:https://www.cnblogs.com/langzs/p/2005821.html
Copyright © 2020-2023  润新知