2013-02-25 83 views
0

我正在构建一个离线的web应用程序,我希望能够在用户保存之前更改页面的html。因为我似乎无法找到一种方法来触发从javascript(除IE外)作为功能保存,我只需要做一些准备工作,然后让浏览器保存页面。我不是试图强制用户做任何事情,只是试图更新页面,以便将其状态保存到正在保存的页面的实际html中。我可以用一个按钮来做到这一点,但我必须要求用户按下Ctrl + S,这根本不光滑。离线web应用程序句柄保存在javascript

所以我要么能够触发JavaScript的浏览器保存,要么在允许默认回调发生之前自己处理保存事件。

这可以通过跨浏览器支持的方式来完成吗?我发现了几个页面处理这个问题,但没有一个按照我的意愿清除它,所以很抱歉如果这听起来像是重复的。

回答

0

这现在已经成为可能blobs。 FileSaver.js是一个跨平台的解决方案。这将允许保存任何二进制资源。

0

你可以使用数据URI的。 This question类似,会提示用户下载的JavaScript生成的CSV文件。

可能还有其他的解决方案,但我认为他们会是专有的,所以没有前瞻性。

+0

数据URI的问题是我无法适当地命名它们,并且加载时间很糟糕,因为它必须从base64中的字符串加载整个网页。如果我使用html数据URI,那么网页只是重定向而不下载,但如果我将它作为数据保留,根据浏览器,它甚至可能不会询问用户使用什么名称,当然也不会默认为正确的扩展名。也许这可以得到解决,但我还没有看到一个很好的例子。谢谢,不过 – Mobius 2013-03-13 14:37:47