大家好,本文将围绕禁用js相关脚本如何处理展开说明,禁用javascript在什么位置是一个很多人都想弄明白的事情,想搞清楚javascript已禁用如何启用需要先了解以下几个事情。
我上一次提出这个问题是在2013年,当时Mozilla决定从Firefox 23的选项对话框中删除“禁用JavaScript”设置。主要理由是:
- 没有JavaScript,许多现代Web都可能会崩溃快码论文。
- 它将用户从自己身上救出来。 很少有人知道JavaScript是什么,禁用它的需求更少。
- 那些确实愿意的人可以在其他地方找到隐藏的选项。
禁用JavaScript仍然是已知人士的选择 。
自2013年首次发表以来,该热门文章已进行了更新,以解决JavaScript领域的地震变化。
用户可以从禁用JavaScript中受益吗?
可能:请参阅我关闭JavaScript一整周,这是光荣的 。 如果没有JavaScript,那么一个神奇的网络将没有膨胀,广告,弹出窗口,Cookie警告,滚动劫持以及我们今天遇到的许多其他黑暗模式出现 。
还有一些在感知方面有问题的人会不必要地禁用JavaScript。 很少有站点考虑可访问性准则,因此,它仍然是减少运动和动画效果(可能导致迷失方向和恶心)的最简单方法。
文章内容通常是可见的,但缺点是,许多Web应用程序如果没有JavaScript就会失败。 有些提供了降级的体验,但它可能破坏商店,地图,游戏和社交网站。 由现代的仅客户端应用程序框架提供支持的内容网站可能只显示空白页。
您可以防止用户禁用JavaScript吗?
没有!
网站所有者或开发人员不可能强迫用户下载并运行JavaScript。 浏览器从服务器“拉”文件; 用户可以通过浏览器设置,代理方法,插件或一系列其他拦截选项来阻止这种情况的发生。
您的脚本也可以修改或禁用特定功能。 永远记住,用户在控制之中:这是他们的设备和连接。 他们选择访问您的网站,并且可以忽略他们不想要的任何内容。
您可以支持那些没有JavaScript的人吗?
很少有人主动禁用脚本。 容易想到那些用户应得的(他们不应该得到)所有东西,但是现实却有很多问题。 JavaScript很脆弱; 您的脚本可能由于以下原因而中断:
- HTTP请求失败
- 请求未完成
- 防火墙阻止了响应
- 服务提供商阻止或修改了脚本
- 浏览器插件拦截或修改了脚本
- 浏览器不支持您所需的代码或功能
- 另一个脚本引发错误,该错误将停止所有脚本的执行
这些问题在移动世界中尤其普遍,在移动世界中,用户可能正在旅行,使用功能较弱的设备,通过慢速网络连接,使用不稳定的机场wifi等。
解决方案仍然是渐进增强 。 您创建最简单的纯HTML体验,然后在这些文件成功下载并执行后,通过图像,字体,CSS和JavaScript进行增强。 您JavaScript可以检测API /设施何时可用于:
- 避免运行会导致错误的代码,或者
- 加载实现相同功能的polyfill。
用户可以获得不同的体验。 在台式机上使用最新版Chrome的用户可能会获得最高级别的功能。 在使用了两年的手机上运行Opera Mini的用户可能会收到基本样式的页面。 重要的是,每个人都会收到一些东西,并且该站点/应用程序仍对所有人可用。
渐进增强值得付出努力吗?
这是您和正在构建的应用程序的决定。
渐进增强功能对于需要吸引尽可能多受众的内容网站和在线商店来说是有意义的。 如果实施得当,它几乎不会产生开发开销,并且可以节省时间。 您知道所有浏览器将继续渲染您的网站,无论它们过去,现在或将来收到的更新如何。
简单的应用程序也可能会受益。 将消息发布到社交网络的应用只需要HTML5表单和一些后端处理即可。 然后,渐进增强功能通过消除页面刷新,添加样式,实现输入验证,提供字符计数,处理错误,使其脱机工作等等来改善体验。
对于具有丰富用户界面的应用程序(例如办公软件,地图,图像编辑和游戏),渐进增强功能变得不可行。 仅HTML和CSS的解决方案可能太笨拙而无法实用。 就是说,即使只是“抱歉,您需要JavaScript” ,您也应该显示一些内容。
2017年及以后JavaScript阻止
“用户应该能够禁用JavaScript”这个问题没有什么意义。 无论供应商如何显示或隐藏高级设置,用户始终可以阻止JavaScript运行- 但很少有人会打扰 。
免费学习PHP!
全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。原价$ 11.95 您的完全免费
免费获得这本书
只有Microsoft Edge很难禁用JavaScript。 也许是因为JavaScript已成为Windows 10不可或缺的一部分,而不是Edge中的遗漏? 如果您不喜欢它,则可以安装任何其他浏览器或使用代理删除.js
文件。
基于Blink的浏览器走得更远,并允许用户逐站点启用或禁用JavaScript。 这是一个不错的选择,尽管维护URL黑名单和白名单的人数可能更少。
供应商不断寻求改善性能。 尽管Google依赖广告,但Chrome很快也会收到内置的广告拦截器。 下一步: 供应商是否可以在性能不佳的网站上阻止JavaScript? 这是一个轻松的胜利:他们只需要提供自己的禁用JavaScript的黑名单,就像处理恶意网站和广告拦截系统一样。
如果发生这种情况,用户将不必手动禁用JavaScript –浏览器将从其他人访问站点时收集的性能指标中学习。 最终,无论我们是否喜欢,我们可能都被迫使用负责任的脚本技术。
如何禁用JavaScript
以下是在大多数现代浏览器中禁用JavaScript的方法。
谷歌浏览器
Chrome 59提供了更时尚的选项集,您可以逐站点禁用JavaScript:
- 访问任何站点,然后单击地址栏左侧的“站点信息”图标。
- 该菜单允许您在该站点上允许或阻止JavaScript。
您可以在该菜单中或在主要设置中单击“站点设置”来全局禁用它:
- 从三点菜单图标中选择设置 。
- 滚动到底部,然后单击“ 高级” 。
- 单击“ 隐私和安全性”部分中的“ 内容设置” 。
- 点击JavaScript 。
- 点击允许(推荐)将其更改为阻止 。
您还可以添加URL或正则表达式来阻止并允许特定站点上JavaScript。
Google Chrome移动版(Android)
Chrome的移动版提供了类似的过程:
- 从三点菜单图标中选择设置 。
- 点击网站设置 。
- 点击JavaScript
- 点击允许网站运行JavaScript(推荐)以将其更改为阻止 。
一旦被阻止,您可以添加URL例外。
火狐浏览器
Firefox中没有简单的选项。 禁用JavaScript:
- 在地址栏中输入about:config并接受所有警告。
- 在搜索框中键入java 。
- 双击java.enabled将值更改为false 。
- 关闭选项卡,然后重新启动浏览器。
Safari(Mac OS)
在Mac OS的Safari中禁用JavaScript:
- 运行浏览器,然后在屏幕顶部的菜单中单击Safari 。
- 选择首选项 。
- 单击安全选项卡。
- 取消选中“ Web内容”部分中的“ 启用JavaScript”选项。
Safari(iOS iPhone和iPad)
要在iPhone或iPad版本的Safari上禁用JavaScript,请执行以下操作:
- 从主屏幕打开设置 。
- 向下滚动并点击Safari 。
- 点击屏幕底部的高级 。
- 点击JavaScript切换按钮以启用或禁用。
Microsoft Edge(Windows 10)
的Windows 10的最新版本不允许您禁用JavaScript的。
某些早期版本允许您在“ 本地组策略编辑器”中更改设置:“用户配置”>“管理模板”>“ Windows组件”>“ Microsoft Edge”,然后更改为“ 允许您运行脚本,例如JavaScript”为“ 已禁用” 。
Microsoft Internet Explorer
可通过Windows控制面板或IE菜单访问“ Internet选项”对话框来启用或禁用JavaScript。
- 选择“ 安全性”选项卡。
- 单击自定义级别...按钮。
- 向下滚动到底部的脚本部分。
- 选择“在活动脚本中 禁用” 。
- 单击确定 ,然后再确定 。
歌剧
要在Opera中禁用JavaScript,请执行以下操作:
- 从Opera图标菜单中选择设置 。
- 在左侧菜单中单击“ 网站” ,或在“搜索设置”框中键入java 。
- 选择“不允许任何站点运行JavaScript” 。
单击管理例外…以输入可以设置为自动允许或阻止JavaScript的URL或正则表达式。
维瓦尔第
Vivaldi运行的Chrome和Opera使用相同的Blink引擎,但在标准设置窗格中找不到JavaScript。 禁用脚本:
- 访问任何站点,然后单击地址栏左侧的“站点信息”图标。
- 该菜单允许您在该站点上允许或阻止JavaScript。
您还可以全局配置JavaScript:
- 选择“站点信息”菜单底部的站点设置以访问闪烁设置。
- 选择“不允许任何站点运行JavaScript” 。
单击管理例外…以输入可以设置为自动允许或阻止JavaScript的URL或正则表达式。
勇敢
在Brave中禁用JavaScript:
- 单击右上角的Brave徽标。
- 对于单个站点,请设置“ 阻止脚本 ”。
对于全局设置:
- 在弹出窗口中单击“ 编辑默认屏蔽设置... ”。
- 切换到“ 首选项” 选项卡。
- 设置“ 阻止脚本”(将破坏许多站点) 。
替代选择
搜索您的浏览器的附加存储区–有许多扩展名可以以不同的方式启用,禁用,重写或修改JavaScript。
大多数开发人员工具(除了Edge?)允许您禁用JavaScript,但通常仅适用于活动标签和会话。
结论
如上所述, “用户应该能够禁用JavaScript”这一问题在2017年几乎没有意义。无论供应商如何显示或隐藏高级设置,用户都将始终能够阻止JavaScript运行, 但很少有人会打扰 。 我们是否应该迎合那些没有JavaScript的用户,很大程度上取决于您正在构建的应用程序。 然而,常识却决定了:您的内容越容易访问,就可以吸引更大的受众。
但是你觉得呢? 我希望在下面的评论中收到您的来信。
本文由Chris Perry , Lesley Lutomski和Matt Burnett进行了同行评审。 感谢所有SitePoint的同行评审员使SitePoint内容达到最佳状态!