Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML和JavaScript-如何正确保存纯文本_Javascript_Html_File Io - Fatal编程技术网

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”