Javascript “显示”;另存为;对话框并将textarea内选定文本的内容保存到客户端';s电脑
可能重复:Javascript “显示”;另存为;对话框并将textarea内选定文本的内容保存到客户端';s电脑,javascript,html,Javascript,Html,可能重复: 我有一个表单,在文本区域中显示一些与用户相关的信息。 如果用户希望保存信息,他/她将从文本区域复制文本,然后单击[保存]按钮,出现另存为对话框,允许用户选择适当的路径,然后将所选文本导出到文本文件 问题是,我不知道如何显示“另存为”对话框,并在客户端站点以文本文件的形式写入所选路径(它可能使用Javascript或Jquery?)。所以我想知道是否有人能给我一些提示 非常感谢。IE唯一解决方案: function SaveContents(element) { if (ty
我有一个表单,在文本区域中显示一些与用户相关的信息。 如果用户希望保存信息,他/她将从文本区域复制文本,然后单击[保存]按钮,出现另存为对话框,允许用户选择适当的路径,然后将所选文本导出到文本文件 问题是,我不知道如何显示“另存为”对话框,并在客户端站点以文本文件的形式写入所选路径(它可能使用Javascript或Jquery?)。所以我想知道是否有人能给我一些提示 非常感谢。IE唯一解决方案:
function SaveContents(element) {
if (typeof element == "string")
element = document.getElementById(element);
if (element) {
if (document.execCommand) {
var oWin = window.open("about:blank", "_blank");
oWin.document.write(element.value);
oWin.document.close();
var success = oWin.document.execCommand('SaveAs', true, element.id)
oWin.close();
if (!success)
alert("Sorry, your browser does not support this feature");
}
}
}
所需的HTML示例:
<textarea id="myText"></textarea><br />
<button type="button" onclick="SaveContents('myText');">Save</button>
拯救
这将把给定textarea的内容保存到一个名为textarea ID的文件中
对于其他浏览器,您可以阅读以下内容:
测试用例和工作示例:(仅限于…)
注:
它可能不适用于txt以外的文件类型,我认为您不能这样做。@jledev:但公认的答案是服务器端。@tlpd:在javascript中不可能,除非客户端在Windows上有IE,并且其安全权限允许创建COM对象(IE默认禁止)。您可能希望扩展搜索和标记选项,以包括flash、java小程序等@bob the destroyer:因为这在JS中是不可能的:@Valentin Rocher:最初的问题是“您可以单独使用javascript(非特定于浏览器)”吗。如果您愿意,您可以只使用javascript擦除客户机的硬盘,前提是他们有IE、Windows,并且他们允许通过安全权限擦除。影子向导提到了
execCommand
技术作为解决这个问题的方法。否则,是的,您将不得不引入javascript以外的内容来访问客户机,尤其是在不同的浏览器之间。但是,如果IE是您唯一的目标受众,并且他们信任您,只需引入ActiveXObject()
谢谢您的影子向导,它被选中了,这样对我很有效。@tlpd干杯,请接受这个答案,然后再检查您以前的问题,并接受解决您问题的答案。我有一位客户坚持我的网页必须支持IE9。这个解决方案有效。