HTML和JavaScript-如何正确保存纯文本
我想保存一个本地生成的文本文件 这段代码几乎满足了我的要求:HTML和JavaScript-如何正确保存纯文本,javascript,html,file-io,Javascript,Html,File Io,我想保存一个本地生成的文本文件 这段代码几乎满足了我的要求: <a download="filename.txt" href="data:text/plain,sometext">Download</a> sometext表示该标记属性中的string(使用javascript插入)。 您可以将其想象为用户设置的textarea的内容 问题是sometext不能包含“或”,因为否则href属性认为其内容完成得更早,这会导致在单击标记时只保存该字符串的一部分 由于so
<a download="filename.txt" href="data:text/plain,sometext">Download</a>
sometext
表示该标记属性中的string
(使用javascript插入)。
您可以将其想象为用户设置的textarea的内容
问题是sometext
不能包含“
或”
,因为否则href属性认为其内容完成得更早,这会导致在单击标记时只保存该字符串的一部分
由于sometext
是由用户生成的,因此它可以包含这些字符,我不想强制用户不使用这些字符
有没有其他方法可以使用html/javascript保存文本文件
我不想向服务器发送sometext
。(这将解决问题,因为我可以在那里创建一个文件(包括“
和”
),并提供下载链接)编写一个简单的javascript来删除“和”这样的字符
userText.replace(/\'/g, '').replace(/\"/g, '');
/表示它是一个正则表达式,\'和\'表示文字字符'和',最后的g表示查找所有要替换的匹配项
但既然你想保留它,那么就这样做:
userText.replace(/\'/g, '\\\'').replace(/\"/g, '\\\"');
\是一个文字反斜杠。这样,当您将其添加到文件名时,它将转义为文字“and”。这将取决于您如何将此某物添加到href
首先,单引号并不重要,因为它是由双引号包装的“
,因此它的工作原理如下:
<a href="data:text/plain,mytext'text">Download</a>
但是
既然您说这将是用户的输入,我想您可能是通过Javascript设置href
,所以我认为这无关紧要,应该是这样的:
<a href="data:text/plain,mytext'text">Download</a>
(尝试键入单引号或双引号…对于JS来说,这无关紧要)
var changerehref=function(){
var el=document.getElementById(“a1”);
el.href=“data:text/plain,”+document.getElementById(“inp1”).value;
}
我想在保存的文件中保留“and”