Javascript 将编辑器html保存到客户端';s计算机
我的页面上有一个CKEditor,允许用户在线编辑html 我想添加到页面中的一个功能是,可以使用“保存模板”之类的按钮保存编辑器的内容,随后将出现“保存/打开”窗口,而无需安全警告或页面刷新 我意识到Javascript不能访问客户端的文件系统,所以我不能使用它来创建和保存文件 我的下一个方法是将编辑器内容发送到服务器,将其保存为文件,然后将其发送回用户 因为我不想刷新页面,所以我使用了AJAX方法来保存设计 现在在OnSucceed javascript函数中,我激活了一个隐藏的iframe,它从服务器检索文件,但这会激活一个IE安全警告 我尝试同时启动方法和iframe,现在没有警告,但是iframe总是在AJAX方法之前执行 还有别的办法吗?我是不是错过了一些简单的 编辑: 我使用了iframe和UploadPanel,如中所建议的那样Javascript 将编辑器html保存到客户端';s计算机,javascript,asp.net,ajax,iframe,Javascript,Asp.net,Ajax,Iframe,我的页面上有一个CKEditor,允许用户在线编辑html 我想添加到页面中的一个功能是,可以使用“保存模板”之类的按钮保存编辑器的内容,随后将出现“保存/打开”窗口,而无需安全警告或页面刷新 我意识到Javascript不能访问客户端的文件系统,所以我不能使用它来创建和保存文件 我的下一个方法是将编辑器内容发送到服务器,将其保存为文件,然后将其发送回用户 因为我不想刷新页面,所以我使用了AJAX方法来保存设计 现在在OnSucceed javascript函数中,我激活了一个隐藏的iframe
我建议您使用客户端会话存储或本地存储以供以后访问。使用库来缓解你的生活我也会走类似的路线——通过往返发送到服务器。事实上,这就是我实现从服务器检索文件的各种页面的过程——但我从未从我编写的东西中遇到过安全警告(但我不使用asp.net) 您没有说明安全警告是什么,也没有说明是否以任何方式涉及SSL 我建议您构建一个测试平台,用户只需按下一个按钮即可触发javascript,并从服务器上的静态数据编译响应—由您的代码中介。请注意,如果希望文件加载,则应在响应标题中这样说,例如
Content-Disposition: attachment; filename="yourfile.html"
您还可以尝试返回浏览器不明确支持的mimetype以强制下载:
Content-type: application/octet-stream
HTH数据可能存在于用户的本地文件系统中,但所有访问都是通过服务器的javascript进行的-这是如何解决问题的?@symcbean他还指的是文件上传??那么就不可能保存在客户端本地存储中。我以为只是在editor中键入了HTML内容。我得到的错误是IE文件下载安全警告,提示用户接受文件下载。我想IE意识到文件是通过脚本发送的,而不是通过用户单击发送的,因此会显示警告…(?)无论如何,您可以给我一个对您有效的往返示例吗?