我在2013年最后一个提出这个问题的时候回Mozilla的决定删除“禁用javascript”从选项设置对话框在Firefox 23的主要理由:
- 许多现代网络可以打破壮观没有JavaScript。
- 它节省了用户自己。 很少有人知道什么是JavaScript是,甚至更少需要禁用它。
- 那些确实可以在别的地方找到隐藏的选项应他们真的需要它。
禁用JavaScript的依然是选择那些在知道。
这种流行的文章已被更新,以解决在JavaScript景观的巨大转变,因为它最初发表于2013年。
用户是否受益于禁用了JavaScript?
也许:指我关掉的JavaScript了整整一个星期,这是光荣的 。 没有JavaScript,一个神奇的网站没有出现膨胀,广告,弹出窗口,cookie的警告,滚动劫持和许多我们今天体验等深色图案 。
此外还有一些与感性的问题,谁禁用JavaScript的出于需要的人。 几个网站考虑的易用性原则,因此仍然以减少运动和动画效果,可以诱导定向障碍和恶心的最简单的方法。
文章内容通常是可见的,但不足之处是,许多Web应用程序失败,没有JavaScript。 一些提供降级的经历,但它可以打破商店,地图,游戏和社交网站。 搭载现代客户端,只应用程序框架可能会显示没有什么比一个空白页内容的网站。
你能防止用户禁用JavaScript的?
没有!
这是不可能的网站所有者或开发商强迫用户下载和运行JavaScript。 从你的服务器浏览器“拉”的文件; 用户可以停止经由浏览器设置,代理的方法,插件或其他一系列拦截选项存在。
您的脚本也可以被修改或有特定的残障人士。 永远记住,用户在控制:这是他们的设备和连接。 他们选择访问您的网站,可以省略任何他们不想要的。
可以支持那些没有JavaScript的?
很少有人主动禁用脚本。 人们很容易认为这些用户应得的一切,他们(不要),但现实是更多的问题。 JavaScript是脆弱的; 你的脚本可以打破,原因包括:
- HTTP请求失败
- 该请求未完成
- 防火墙阻止响应
- 服务提供商阻塞或修改的脚本
- 一个浏览器插件拦截或修改脚本
- 浏览器不支持您所需要的代码或设施
- 另一个脚本提高其停止所有脚本执行错误
这些问题在移动世界里,用户可以行驶,使用不那么强大的设备,通过速度较慢的网络连接中尤其普遍,使用片状机场WiFi等等
该解决方案仍然是渐进增强 。 您创建简单的HTML,唯一的经验,然后用图像,字体,CSS和JavaScript时,这些文件成功下载并执行增强它。 你的JavaScript可以检测时的API /设施可用来:
- 避免运行的代码,这将导致一个错误,或
- 负载polyfills其实现相同的功能性。
用户可以得到不同的体验。 那些使用了最新的Chrome在桌面上可以得到的功能性的最高水平。 那些在两岁的手机运行的Opera Mini可能会收到一个基本的样式页面。 重要的是,每个人都收到的东西和网站/应用仍然是所有人使用。
是渐进增强值得的?
这对你的决定,你正在构建的应用程序。
渐进增强使得对于需要达到尽可能多的观众的内容网站和网上商店的意义。 如果实施得当,它会带来少许的发展开销,可以节省时间。 你知道所有的浏览器将继续使您的网站,无论他们在过去,现在还是将来得到更新。
简单的应用也可能受益。 该消息发布到社交网络上只需要很少的比HTML5的形式和一些后端处理更多的应用程序。 然后逐步增强通过消除页面刷新,增加款式,执行输入验证,提供了字符数,处理错误,使其脱机工作,更提高了经验。
渐进增强成为具有丰富的用户界面,比如办公软件,绘图,图像编辑和游戏应用不太可行。 一个HTML和CSS唯一的解决方案可能是过于繁琐而不实用。 这就是说,你应该表现出哪怕它只是“对不起,您所需要的JavaScript”的东西。
JavaScript的在2017年及以后阻塞
这个问题:“应该的用户可以禁用javascript”几乎没有相关性。 用户将总是能够防止JavaScript的运行,无论厂商如何显示或隐藏高级设置- 但很少有人会理会 。
只有微软边缘使其难以禁用JavaScript的。 或许是因为JavaScript有成为的Windows 10,而不是在边缘有遗漏的一个组成部分? 如果你不喜欢它,你可以安装其他浏览器或使用代理删除.js文件。
基于闪烁的浏览器走得更远,并允许用户在网站上,通过站点的基础启用或禁用JavaScript的。 这是一个很好的选择,虽然甚至更少的人很可能会维持URL黑名单和白名单。
供应商不断寻求提高性能。 尽管谷歌对广告的依赖,甚至Chrome将很快收到一封包含内置广告拦截。 下一步: 可以阻止厂商上的JavaScript表现出业绩不佳的网站? 这是一个容易的胜利:他们只需要提供自己的JavaScript禁用黑名单就像他们做的恶意网站和广告拦截系统。
如果出现这种情况,用户将不必手动禁用JavaScript的 - 浏览器会从搜集的性能量度学会当别人访问一个网站。 最终,我们可能被迫使用负责脚本技术,无论我们喜欢还是不喜欢。
如何关闭JavaScript
下面介绍如何在大多数现代浏览器禁用JavaScript的。
谷歌浏览器
Chrome浏览器59带来了更时尚的设置选项,你可以在网站上,通过站点的基础禁用JavaScript的:
- 访问任何网站,然后点击地址栏左侧的“网站信息”图标。
- 该菜单可以允许或禁止的JavaScript在该网站上。
您可以在全球范围通过单击从菜单或主设置中“网站设置”禁用它:
- 选择从三个点的菜单图标设置 。
- 滚动至底部,并单击高级 。
- 点击隐私和安全部分内容设置 。
- 点击JavaScript的 。
- 单击允许(推荐)将其更改为块 。
您也可以URL或正则表达式添加到块,并允许特定网站上的JavaScript。
谷歌Chrome移动设备(Android版)
类似的过程被设置在铬的移动版:
- 选择从三个点的菜单图标设置 。
- 单击网站设置 。
- 点击JavaScript的
- 点击允许网站运行JavaScript(推荐)将其更改为阻止 。
一旦受阻,您可以添加URL例外。
火狐浏览器
目前在Firefox没有简单的选项。 要禁用javascript:
- 输入about:在地址栏的配置 ,并接受任何警告。
- 在搜索框中键入的JavaScript。
- 双击javascript.enabled的值更改为false。
- 关闭选项卡,并重启浏览器。
Safari浏览器键(Mac OS)
要在Mac上的Safari OS禁用JavaScript的:
- 运行浏览器,点击Safari浏览器菜单在屏幕的顶部。
- 选择首选项 。
- 点击安全标签。
- 取消选择启用在Web内容部分的JavaScript选项。
Safari浏览器(iOS的iPhone和iPad)
要在Safari浏览器的iPhone或iPad版的JavaScript禁用:
- 从主屏幕打开设置 。
- 向下滚动,然后点击Safari浏览器 。
- 在屏幕的底部点击高级 。
- 点击JavaScript的切换按钮启用或禁用。
微软边缘(视窗10)
的Windows 10的最新版本不允许您禁用JavaScript的。
一些早期版本允许你更改本地组策略编辑器设置:用户配置- >管理模板> Windows组件>微软边缘,然后改变允许您运行脚本,如JavaScript为禁用 。
Microsoft Internet Explorer中
启用JavaScript或通过Windows控制面板或IE浏览器菜单中访问Internet选项对话框禁用。
- 选择安全选项卡。
- 点击自定义级别...按钮。
- 向下滚动向底部的脚本部分。
- 在活动脚本选择禁用 。
- 单击确定 ,然后再确定 。
歌剧
要在Opera禁用JavaScript的:
- 选择从歌剧院图标菜单设置 。
- 可以单击在搜索设置框左侧的菜单或类型的JavaScript 的网站 。
- 选择不允许任何网站运行JavaScript。
点击管理例外情况...输入网址或可自动设置为允许或阻止JavaScript的正则表达式。
维瓦尔第
维瓦尔第运行由Chrome和Opera使用相同的闪烁引擎,但你不会在标准设置窗格中找到的JavaScript。 要禁用脚本:
- 访问任何网站,然后点击地址栏左侧的“网站信息”图标。
- 该菜单可以允许或禁止的JavaScript在该网站上。
您也可以在全球范围内配置的JavaScript:
- 在“网站信息”菜单的底部选择站点设置访问闪烁设置。
- 选择不允许任何网站运行JavaScript。
点击管理例外情况...输入网址或可自动设置为允许或阻止JavaScript的正则表达式。
勇敢
要勇敢禁用JavaScript的:
- 点击勇敢的标志在右上角。
- 对于单站点,设置脚本块 。
对于全局设置:
- 单击编辑默认屏蔽设置......在弹出。
- 切换到首选项选项卡。
- 设置脚本块(将打破许多网站)上。
替代方案
搜索浏览器的插件商店 - 有许多扩展,它可以启用,禁用,重写或以不同的方式修改的JavaScript。
大多数开发者工具(除边沿?)允许您禁用javascript,但它通常只适用于主动标签和会话。
结论
如上面所提到的问题,“应用户能够禁用javascript”几乎没有在2017年相关的用户将总是能够防止JavaScript的运行,无论厂商如何显示或隐藏高级设置- 但很少有人会理会 。 我们是否应该迎合那些没有JavaScript的用户在很大程度上取决于你构建的应用程序。 然而,根据常理判断:越接近你的内容,你可以吸引观众越大。
但是,你有什么感想? 我很想听到你在下面的评论。
这篇文章是由同行评审克里斯·佩里 , 莱斯利Lutomski和马特·伯内特 。 感谢所有SitePoint的审稿作出SitePoint内容也可以是最好的!