javascript - 使用主窗口中的预连接资源提示来提高外部 iframe 中脚本的性能
问题描述
我有一个有外国 iframe的网站。有多个第三方脚本在这个外部 iframe 中运行。
我知道如果我prefetch
从主窗口中使用这些脚本 - iframe 将需要重新加载这些源(就像prefetch
在不同的域中完成的那样)。
如果我在主窗口中为第三方脚本添加或资源提示,在 iframe 中加载这些脚本的性能会提高,这可能是什么原因?这仅仅是因为我预热了脚本吗?dns-prefetch
preconnect
解决方案
出于隐私原因,一些浏览器实现了双键 HTTP 缓存以防止跟踪。这意味着如果 domain1 从 CDN 加载 jQuery,然后 domain2 从同一域加载相同的 jQuery 资源,它将再次下载,而不是重复使用 HTTP 缓存中的相同副本。
Safari 已经这样做了一段时间,Chrome 最近也表示他们也会这样做。
这意味着您不能prefetch
或preload
您所说的外国域 iframe 中的资源和脚本。
dns-prefetch
并且preconnect
没有这样的隐私影响(目前 - 请参阅下面安迪的回答,了解可能即将发生的预连接更改)。因此它们可用于通过预先加载一些工作以获取这些脚本来提高 iframe 的性能(尽管应该注意,浏览器可能并不总是使用相同的连接,这取决于可能会影响使用的浏览器preconnect
)。
推荐阅读
- javascript - 如何通过wordpress中的最新jquery在引导模式弹出窗口中动态执行hubspot嵌入表单脚本?
- java - 对 ArrayList 起作用的两种方法的同步
- c# - 添加颜色到 Console.ReadLine();
- c - c中多个等效检查的简写
- macos - 更改 Tee-clc 中的默认凭据。苹果系统
- php - 尝试使用 PHP 8.0 安装 Xdebug - 安装的 Zend Engine API 版本 420200930 较新
- java - 查找用户输入数字的阶乘的代码错误
- powerbi - Power BI Desktop 如何使用新度量从行中减去一个值
- python - 最终成绩计划 = 不打印实际列表(显示每个人的字母成绩)
- python - 数据框到文本文件