使用 Javascript 访问浏览器缓存
Access browser cache using Javascript
我的网络应用程序正在引用 CDN 来加载像 React 这样的库,确保下次访问该应用程序时,将从浏览器缓存中检索 React。
当用户第一次访问我的应用程序时,浏览器缓存很可能已经从其他 CDN 获取了 React(访问其他应用程序也使用从不同 CDN 加载的 React 的结果)。我的应用程序所需的 React URL 会有所不同,因此仍会下载资源。如何避免这种情况?
如果可以从代码访问浏览器缓存,则可以按资源名称查询并检索包含 'react' 和“17”的资源,因此已经存在,缓存的资源可以用作“第一次访问我的应用程序时 React v. 17"。
是否有任何 planned/existing 标准允许在运行时声明:“我的应用程序需要 React v.17 - 请重用您已经缓存的资源或使用具有给定 url 的资源( CDN link)"?
不可能 - 感谢您的意见。
我认为这是某种问题,因为无法阻止浏览器在首次加载时重新获取已缓存的 Web 应用程序外部依赖项。
我有点惊讶没有办法解决这个问题。外部依赖项通常是应用程序包的较大部分,因此在许多情况下,这将允许将负载减少超过 50%。
我的网络应用程序正在引用 CDN 来加载像 React 这样的库,确保下次访问该应用程序时,将从浏览器缓存中检索 React。
当用户第一次访问我的应用程序时,浏览器缓存很可能已经从其他 CDN 获取了 React(访问其他应用程序也使用从不同 CDN 加载的 React 的结果)。我的应用程序所需的 React URL 会有所不同,因此仍会下载资源。如何避免这种情况?
如果可以从代码访问浏览器缓存,则可以按资源名称查询并检索包含 'react' 和“17”的资源,因此已经存在,缓存的资源可以用作“第一次访问我的应用程序时 React v. 17"。
是否有任何 planned/existing 标准允许在运行时声明:“我的应用程序需要 React v.17 - 请重用您已经缓存的资源或使用具有给定 url 的资源( CDN link)"?
不可能 - 感谢您的意见。
我认为这是某种问题,因为无法阻止浏览器在首次加载时重新获取已缓存的 Web 应用程序外部依赖项。 我有点惊讶没有办法解决这个问题。外部依赖项通常是应用程序包的较大部分,因此在许多情况下,这将允许将负载减少超过 50%。