将编辑器html保存到客户端的计算机

时间:2011-06-15 08:17:18

标签: javascript asp.net ajax iframe

我的页面上有一个CKEditor,以便用户在线编辑html。

我想要添加到页面的功能之一是能够使用“保存模板”之类的按钮保存编辑器的内容,然后是保存/打开窗口,没有安全警告或页面刷新

我意识到Javascript无法访问客户端的文件系统,因此我无法使用它来创建和保存文件。

我的下一个方法是将编辑器内容发送到服务器,将其保存为文件,然后将其发送回用户。

因为我不希望页面刷新,所以我使用了AJAX方法来保存设计。

现在在OnSucceed javascript函数中,我激活了一个从服务器检索文件的隐藏iframe,但这会激活IE安全警告......

我尝试同时触发方法和iframe,但现在没有警告,但iframe总是在AJAX方法之前执行...

有没有其他方法可以做到这一点?我错过了一些简单的事情......?

编辑:

我在

中建议使用iframe和UploadPanel

http://encosia.com/ajax-file-downloads-and-iframes/

2 个答案:

答案 0 :(得分:1)

我会走下一条类似的路线 - 将它发送到服务器。实际上,这是我实现从服务器检索文件的各种页面的过程 - 但我从来没有遇到过我写过的东西的安全警告(但我不使用asp.net)。

您没有说明安全警告是什么 - 也不是以任何方式涉及SSL。

我建议您构建一个测试装备,用户只需按下按钮即可触发javascript并从服务器上的静态数据编译响应 - 由您的代码调解。请注意,如果您希望文件下载,那么您应该在响应标题中说明,例如

Content-Disposition: attachment; filename="yourfile.html"

您也可以尝试返回浏览器未明确支持的mimetype以强制下载:

Content-type: application/octet-stream

HTH

答案 1 :(得分:0)

我建议您使用Clients SessionStorage或LocalStorage以便以后访问。使用图书馆来缓解你的生活Here comes KIZZY