zoukankan      html  css  js  c++  java
  • JS平稳退化

    Javascript作为一种前端脚本语言,主要功能是用于改善前端的用户体验。我们看见一些网页的显示效果,比方说菜单显示隐藏,图标移动和文字滚动大多是基于JS来实现的。作为改善用户体验的存在,通俗的讲就是起个锦上添花的表现效果,而不能影响正常的后台逻辑和最基本功能的实现。

    通俗地讲,javascript平稳退化就是如果一个浏览器完全不支持js或者禁用js的时候,它的正常功能不会受到任何影响。比方说一个网站使用了大量javascript来优化页面,我们现在把浏览器的javascript给禁用掉,这个网站的显示效果会变得比较糟,但是基本功能不会受到影响:登录页面可以正常登录,表单可以正常提交等。

    一些网站如果禁用js,它的基本功能就会受到严重影响,比方说某个链接打不开,表单无法提交等,这些都是不能实现平稳退化的。

    举个比较简单的例子,就像表单提交,通常可以用<input type="submit">来实现提交功能,也可以使用Jquery的AJAX提交来实现:

    $.post("/Words/CheckAnswer/", { Ask: Ask, Answer: Answer, Ids: Ids}, function (data) {...})

    这样子也可以实现表单提交,但是如果浏览器的js被禁用了,这个就无效了。

    如果非要在一些场合使用ajax提交方法又要兼顾js的平稳退化,我对于它的处理方法是预先在form中定义好一个submit按钮:

    <form id="form" method="post" action="~/Words/CheckAnswer"> 
    <input type="submit" id="sub"></form>

    JS代码中默认设定submit不可见

    <script>
    window.onload=function () {
    document.getElementById("sub").setAttribute("style","display:none")
    }

    </script>

    一旦js被禁用,对submit的隐藏就会失效,显示出来的submit按钮可以继续完成表单提交的功能

  • 相关阅读:
    CachedRowSet使用
    mybatis There is no getter for property named 'xx' in 'class java.lang.String
    基于tcpdump的Android智能移动终端数据包捕获完整解决方案
    analytics详解
    android开发图片分辨率
    缩放图片,解决bitmap 内存溢出out of memory的问题
    使用windowAnimations定义Activity及Dialog的进入退出效果
    读取本地已有的.db数据库
    MyBatis 问题列表
    cxf 相关问题
  • 原文地址:https://www.cnblogs.com/XCCU-2015/p/5025813.html
Copyright © 2011-2022 走看看