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

Appending cache manifest to existing site

是否可以在页面加载后立即以编程方式添加缓存清单?喜欢将属性添加到带有 JavaScript 和 re-init/re-load 页面的 html 标签?

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

我刚才做的一些测试发现,只有当您重定向到正确指定了缓存清单的站点时,它才有效。

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

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

  2. 如果它是一个外部页面,那么你必须选择另一种解决方法,比如在服务器端读取站点的内容并在那里更正它(这样它看起来就像是你的站点领域)。您还可以像任何其他资源一样缓存外部站点,并在 iframe 中加载外部站点,但简单地说:浏览器中显示的 URI 必须在您的域中。如果你考虑一下,这是合理的,否则我可以创建一个永远缓存 Whosebug 的站点,并且访问我站点的每个人都不会再从 Whosebug 获得更新(过于简单化,但它应该得到重点)。

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

您可以尝试在服务器端 "scraping the page" 并将内容 wrap/embed 放入带有清单(代理样式)的新 HTML 页面。