显示"另存为"对话框,并将textarea中所选文本的内容保存到客户端PC上的文件中

Phu*_*yen 5 html javascript

可能重复:
仅使用Javascript(无服务器端)将textarea内容下载为文件

我有一个表单,在textarea中显示一些用户相关的信息.如果用户想要保存信息,他/她将从textarea复制文本,然后单击[保存]按钮,出现另存为对话框,允许用户选择合适的路径,然后将选定的文本导出到文本文件

问题是我不知道如何显示"另存为"对话框并将所选路径作为文本文件写入客户端站点(它可能使用Javascript或Jquery?).所以我想知道是否有人可以给我一些提示?

非常感谢你.

Sha*_*ard 13

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");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

必需的HTML示例:

<textarea id="myText"></textarea><br />
<button type="button" onclick="SaveContents('myText');">Save</button>
Run Code Online (Sandbox Code Playgroud)

这会将给定textarea的内容保存到名称等于textarea的ID的文件中.

至于其他浏览器,您可以阅读:execCommand SaveAs在Firefox中有效吗?

测试用例和工作示例:http://jsfiddle.net/YhdSC/1/(IE only ..)

注意:https://support.microsoft.com/en-us/help/281119/internet-explorer-saves-html-content-instead-of-the-active-document

它可能不适用于除txt之外的文件类型