2010年,当我开始涉足浏览器开发领域时,我们选择不支持JavaScript,这在当时是出于移动端性能的考量。彼时,诺基亚仍在手机市场占据主导地位,但颓势已现。Android系统刚刚崭露头角,我们的产品线覆盖了Windows Mobile、Symbian、Moto Linux和Android等多个平台。
后来的发展进程大家都知道了,Symbian 和 Windows Mobile 被淘汰,Moto Linux 更是没有溅起一点浪花。伴随着 Android 和 iOS 的兴起,后面做浏览器产品都开始使用 WebKit 内核。WebKit 内核有着 JavaScriptCore 和 V8 两种 JavaScript 引擎绑定,天然支持 JavaScript。而且,随着手机性能越来越强,面向手机的网页也越来越复杂,所以 JavaScript 的支持是必不可少的。
经过这么多年的发展,JavaScript 已经成为了 Web 的基础,现在很难找到不支持 JavaScript 的浏览器了。
然而,最近谷歌强制要求用户在 Google 搜索服务上启用 JavaScript,这在我看来是理所当然的事,居然引起了轩然大波。
先来看看这究竟是怎么回事。原来是近日有网友发现,谷歌悄悄更新了他们的搜索框,要求所有用户(包括机器人)在搜索时启用 JavaScript。在未启用 JavaScript 的情况下浏览谷歌搜索会出现以下消息:
启用 JavaScript 来继续搜索。如您使用的浏览器已关闭 JavaScript,想要继续搜索,请将其启用。
对此,谷歌的说法是,这一变化旨在 “更好地保护” Google 搜索免受机器人及垃圾邮件等恶意活动的侵害,同时改善用户的整体 Google 搜索体验。
谷歌公司发言人还指出,若不启用 JavaScript,Google 搜索中的多项功能将无法正常起效、搜索质量也将随之降低。
为什么有人对此感到不满呢?主要还是从安全出发,因为 JavaScript 自身有不少安全问题。科技厂商 Datadog 在其 2024 年度安全调查中发现,约有 70% 的 JavaScript 服务容易受到第三方软件库引入的一个或多个“严重”或“高危”漏洞的影响。
对此,谷歌发言人则反复重申,平均而言只有“不足 0.1%”的 Google 搜索操作来自禁用 JavaScript 的用户。
尽管如此,这一决策仍然在技术社区引发了热烈讨论。一些人猜测,这可能是谷歌推动人工智能技术普及的战略举措。他们认为,通过强制启用JavaScript,谷歌可以更好地收集用户数据,为AI模型的训练提供支持。
作为一名开发者,我真的很难理解:JavaScript早已成为Web开发的基石,几乎所有的现代浏览器都原生支持JavaScript。然而,仍有一部分用户出于安全考虑选择禁用JavaScript,这种选择在当今的互联网环境下显得格格不入。
当然,这种反对声音背后可能不仅仅是技术层面的考量。有些人可能是出于对科技巨头垄断行为的抵制 —— 他们并非反对使用JavaScript本身,而是反对被强制要求使用。这种"我可以选择使用,但不能被迫使用"的心理,反映了用户对自主选择权的重视。
这恰恰揭示了产品开发中的一个永恒困境:创新与守旧之间的平衡。如果产品停滞不前,用户会认为它已经落伍;但一旦做出改变,又总会有人怀念旧版本。