我最近的认识是,提供高性能、可访问、响应式、可扩展的网站还不够:我还需要考虑第三方脚本的影响。 无论我认为我的原型多么稳固,它都不能让我不关注实现过程中发生的事情,特别是在添加这些第三方脚本时。
我最近与一位正在开发一个非常高调的电子商务网站的朋友进行了交谈。 他们被雇来开发该网站,但特别关注性能。 他们正在走 PWA 路线,但立即被第三方脚本束缚。 其中一个,显然无法避免,不能是 HTTPS,这意味着该网站立即 被取消 PWA 资格。 他们仍然可以在许多其他领域做得很好,但他们的出色性能工作却在左右两侧被第三方脚本所破坏。 我不羡慕处于这种境地。
这通常是“标签管理器”的错。 那里有很多。 这是一个关于其中一个的营销宣传
营销人员想要简单、可靠且易于与现有系统集成的标签管理… 您将更快地推出程序,以便您可以更快地做出决策。
换句话说,“让您的营销团队能够快速添加他们想要的任何第三方 JavaScript,而不必通过您的正常部署流程。” 我理解为什么某些组织需要它们,但这仍然让我不寒而栗。
第三方脚本可能被认为是设计风格指南的一部分。 除了您的按钮和模态之外,还可以列出网站上使用的第三方脚本。 Brad Frost
这个想法是,有人(或者正如 Trent 指出的那样,一些东西)可以假设地遍历网站上包含的所有脚本,并在风格指南中将它们与所有色板、图标、UI 组件等一起显示。 毕竟,它们与所有其他设计元素一样影响最终用户的体验(如果不是更多的话)。 您可以根据它们有多讨厌来直观地加权它们,从而与您的团队进行有思想的讨论——特别是那些不经意地将所有这些损害性能的脚本抛入其中的团队——讨论包含的每个脚本的优缺点。
第三方脚本可能是网络上性能不佳和用户体验糟糕的首要原因。 难怪像 AMP 这样的东西存在。 事实上,它禁止第三方脚本可能是使其网站变得更快的最大贡献者。 尽管在其他选择方面存在争议。
命运使然,由于 Spectre 和 Meltdown,第三方 JavaScript 变得比以往任何时候都更加危险。 Jorgé
问:我的浏览器中的 JavaScript 是否容易受到攻击?
答:是的,浏览网页可以让第三方访问您机器的内存,超出浏览器的范围。
😳
更多关于第三方 JavaScript
如果您像 Trent 一样,计划加强您的第三方 JavaScript 技能,以下是一些来自其他开发人员在过去几年中深入研究它的内容。 其中一些针对的是您作为第三方 JavaScript 的提供者。
Alex Sexton 的第三方 JavaScript(以第三人称形式)幻灯片

关于第三方 JavaScript - 原则作者:Gergely Nemeth
在提供第三方 JavaScript 应用程序时,其大小和缓存策略至关重要,因为它们不仅影响用户等待查看应用程序的时间,而且还影响您的月度账单。
另请参阅:简而言之,编写第三方 JavaScript 集成部分。
Ben Vinegar 和 Anton Kovalyov 的第三方 JavaScript
使用第三方脚本需要了解的事项(以及潜在的危险)作者:Yaphi Berhanu
网络上充斥着第三方脚本。 网站使用它们进行广告、分析、再营销等等。 但这并不总是全部。 脚本可以跟踪您的行为、您的偏好和其他信息。
我正在从您的网站上收集信用卡号码和密码。 这是如何做到的。 作者:David Gilbertson
我的目标只是指出,任何包含第三方代码的网站都令人震惊地脆弱,而且以完全不可检测的方式。
没有比第三方 JS 派对更棒的派对了作者:Rebecca Murphey
你以为你已经掌握了 JavaScript 的全部知识,但现在你进入了第三方 JavaScript 的世界,在那里你唯一控制的是一个单独的脚本标签,而且几乎不可能想到你的代码将要运行的每个敌对环境。“它在我的机器上运行”这句话从来没有如此空洞。 在这次演讲中,我们将看看我们在 Bazaarvoice 在开发用于收集和显示世界上一些最大零售商的评级和评论的第三方 JavaScript 应用程序时不得不解决的一些令人愉快的错误。
(需要订阅)
第三方 JavaScript 管理备忘单
在 Web 应用程序中调用第三方 JS 代码需要特别考虑以下 3 种风险
- 失去对客户端应用程序更改的控制权,
- 在客户端系统上执行任意代码,
- 向第三方泄露或泄露敏感信息。
我是一名第三方脚本作者,并写了一些关于成为优秀的第三方提供者的内容。 这个是关于允许您的客户衡量您的性能的:http://www.lognormal.com/blog/2017/07/25/a-study-of-timing-allow-origin/,而这个是关于将第三方脚本加载到页面中最有效的方式的(即将更新):http://www.lognormal.com/blog/2012/12/12/the-script-loader-pattern/
根据 Google 的指南,我们必须尽可能避免使用第三方脚本。
根本没有选择。电子商务网站 *必须* 通过 https 运行,所以要么第三方修复他们的故障,要么找到替代方案。如果我今天看到一个没有使用 https 的电子商务网站,我不会使用它。