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按钮可以继续完成表单提交的功能

posted @ 2015-12-07 13:13  xccu  阅读(735)  评论(0编辑  收藏  举报