禁用JavaScript之后,你的网站表现如何?
禁用JavaScript之后,你的网站表现如何?
一
最近要做一个新官网,需求评审完之后,考虑到官网都是纯静态页面,功能简单,操起vue-cli3几秒内创建好了项目脚手架,开发前,我打开了首页模板文件,看到下面这行字,有了一些思考……
<strong>We're sorry but **** doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
(ps:四个*是项目名,略去了)
二
JS最初是用来给界面添加交互的,近几年,前端火的原因则主要是因为JS,新技术绝大部分都是基于JS,随着MVVM框架的兴起,前端越来越依赖JS,就像现代工业依赖电力一样,JS甚至一定程度上替代了HTML,使得前端开发者在开发大型项目上更方便快捷了,目前看起来一切都很好,嗯,事实上真的很好吗?
我想说什么呢,回到本文开始的那行代码,它的作用显而易见,禁用了JS的用户去访问这个网站,就会看到这行提示:当前项目离了JS就跑不起来,请开启JS后继续访问。当浏览器禁用了JS,网站变得一片空白,完全无法访问,这正常吗?显然这是不可接受的,从程序的可访问性、容错性来评分,这个网站的得分肯定是不及格的!
来看几家比较知名的企业官方网站,在禁用JS后表现如何?
小米官网 测试日期2018-11-26
小米官网容错性测试
测试结果:基本功能无法使用,导航显示但无法点击
_
魅族官网 测试日期2018-11-26
魅族官网容错性测试
测试结果:基本功能无法使用,导航不显示
_
锤子官网 测试日期2018-11-26
锤子官网容错性测试
测试结果:基本功能无法使用,页面一片空白
_
测试结果很不理想,会有人说,用户能禁用JS就能启用JS,和开发者没关系,不必为此做特殊处理。至于需不需要处理,我认为需要综合考虑以下两点
1、从商业角度,想不想让禁用了JS的用户正常访问你的网站甚至成为你的客户
2、从开发者角度,考虑开发成本高低,付出和收益是否成正比
上面几个例子结果不太理想,有没有做得比较好的企业?
Apple官网 测试日期2018-11-26
Apple官网容错性测试
测试结果:90%的功能正常使用,导航显示且可以点击切换
Apple:不是我多优秀,全靠同行衬托!
果然没有对比就没有伤害。同类型的网站,功能大体相同,Apple.com在禁用了JS的情况下仍然可以正常访问90%的内容,可访问性优。
其他包括tencent.com、360.com等网站这方面也做的不错,就不放图了。
三
还会有人问,谁会去禁用JS?
禁用JS的场景包括但不限于以下几个场景
对安全性要求比较高的系统,比如服务器
个人原因禁用了JS(比如为了不看各种弹出广告)
浏览器厂商因网络原因禁用JS(Android端Chrome未来在2G网速下将禁用JS)
不管主动禁用还是被动禁用,禁用的原因各种各样,总结起来无非三点:安全原因、广告骚扰、网络限制。
既然JS被禁用的场景客观存在,在项目开发前,根据项目实际情况考虑以下原则:
根据实际情况选择合适的技术方案
能用CSS实现的,优先使用CSS
四
现在MVVM大行其道,但不是什么项目都适合用MVVM框架,JS热火朝天,也不能什么交互都上JS,JS在很多情况下不是必须的,假如要做一个官网,就不建议用单页应用,用JS做路由,JS挂了,页面就白屏,另外SEO也是个问题,锤子的官网就是单页应用。
一般图片轮播都用JS实现,不考虑低版本浏览器的话,CSS3一样可以做轮播图,导航下拉效果,完全可以用鼠标hover父级元素display子元素的方式实现(以上三家国产手机厂商都是用的JS),元素定位,大部分情况也不需要用到JS。
今时今日,JS早已经不是用来增加动态效果那么简单的脚本语言,它已经成了前端发展最重要的一环,切勿迷失在新技术的红海里,选择合适的技术做合适的功能,做之前多做一些思考,这就是我想说的。
原文地址https://www.cnblogs.com/wangmeijian/p/10009645.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java:并发不易,先学会用
Java:并发不易,先学会用我从事Java编程已经11年了,绝对是个老兵;但对于Java并发编程,我只能算是个新兵蛋子。我说这话估计要遭到某些高手的冷嘲热讽,但我并不感到害怕。 因为我知道,每年都会有很多很多的新人要加入Java编程的大军,他们对“并发”编程中遇到的问题也会有感到无助的时候。而我,非常乐意与他们一道,对使用Java线程进行并发程序开发的基础知识进行新一轮的学习。 01、我们为什么要学习并发?我的脑袋没有被如来佛祖开过光,所以喜欢一件事接着一件事的想,做不到“一脑两用”。但有些大佬就不一样,比如说诸葛亮,就能够一边想着琴谱一边谈着弹着琴,还能夹带着盘算出司马懿退兵后的打算。 诸葛大佬就有着超强的“并发”能力啊。换做是我,面对司马懿的千万大军,不仅弹不了琴,弄不好还被吓得屁滚尿流。 每个人都只有一个脑子,就像电脑只有一个CPU一样。但一个脑子并不意味着不能“一脑两用”,关键就在于脑子有没有“并发”的能力。 脑子要是有了并发能力,那真的是厉害到飞起啊,想想司马懿被气定神闲的诸葛大佬吓跑的样子就知道了。 对于程序来说,如果具有并发的能力,效率就能够大幅度地提升。你一定注册过不少...
- 下一篇
PHPpraffa也有了,一个PHP版本的阿里云函数计算与API网关的开发框架
发布了Python版本的函数计算与API网关的开发框架后,一直觉得对不起PHP,因为公司一直是用PHP的,我这弄了个Python,实在不该,对了,(Python版本说明点这里。 PHPpraffa是什么? PHPpraffa 是praffa的PHP版本。是一款针对阿里云的函数计算+API网关产品开发的轻型框架。 对了,GitHub地址是:https://github.com/YONGDAOYUN/PHPpraffa 开发说明 在method里的Example是示例类,类文件名、类名、method三者同名,建议采用大驼峰规则定义,例如:GetUserInfo 主返回方法名必须是handler,并且放在类方法的最后一个。其他代码自己是自己业务代码。 method放到API网关配置的Query里,配置为映射方式,body为非表单提交模式的JSON 图解从零开始 鼠标放在图片上有说明
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果