显示“另存为”对话框并将文本区域内选定文本的内容保存到客户端 PC 上的文件中[重复]

2024-05-01

可能的重复:
仅使用 Javascript 将文本区域内容下载为文件(无服务器端) https://stackoverflow.com/questions/609530/download-textarea-contents-as-a-file-using-only-javascript-no-server-side

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

问题是我不知道如何显示“另存为”对话框并将所选路径作为文本文件写入客户端站点(它可能使用 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>

这会将给定文本区域的内容保存到名称等于文本区域 ID 的文件中。

至于其他浏览器,你可以阅读:execCommand SaveAs 在 Firefox 中工作吗? https://stackoverflow.com/questions/833015/does-execcommand-saveas-work-in-firefox

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示“另存为”对话框并将文本区域内选定文本的内容保存到客户端 PC 上的文件中[重复] 的相关文章

随机推荐