正在将缓存清单附加到现有站点



是否可以在页面加载后立即以编程方式添加缓存清单?比如用JavaScript将属性添加到html标记中,然后重新初始化/重新加载页面?

我想向页面添加缓存清单,但无法编辑其HTML本身。

我不久前做的一些测试发现,只有重定向到正确指定缓存清单的站点,它才能工作。

应用程序缓存按域工作。这给了我们两种不同的情况:1。它是我们域名或2上的一个网站。这是一个外部网站。

  1. 因为你只需要在主站点(或保证访问的任何其他站点,否则你可能会有奇怪的行为)上指定清单,所以你可以在你的房子前面放一个保镖:制作一个虚拟页面(=保镖,显示微调器或进度条),其中正确指定了缓存清单。这个伪页面还可以检查是否有更改并交换缓存。加载完所有资源后,您只需重定向到应用程序的"真实"入口点(授予访问权限的保镖)。

  2. 如果它是一个外部页面,那么你必须选择另一种解决方法,比如在服务器端读取网站的内容并在那里进行更正(这样它看起来就像是你域上的网站)。你也可以像其他资源一样缓存外部网站,并在iframe中加载外部网站,但简单地说:浏览器中显示的URI必须在你的域上。如果你仔细想想,这是合理的,否则我可以创建一个永远缓存stackoverflow的网站,每个访问过我网站的人都不会有stackoverflow更新(过于简单,但应该会明白这一点)。

缓存清单描述了"脱机"运行"应用程序"所需的文件。加载页面后,您可以设置清单属性。HTML文件已经发送,浏览器不会对动态添加的清单属性做出反应。

您可以尝试在服务器端"抓取页面",并使用manifest(代理样式)将内容包装/嵌入到新的HTML页面中。

相关内容

  • 没有找到相关文章

最新更新