我正在使用Mozilla Firefox的控制台在博客上运行一些JavaScript,以便对其进行有组织的转储,并将其存储为字符串变量。该字符串包含大约5000条消息,因此它很长。我想以某种方式在计算机上保存这个字符串;这部分可以在外部使用JavaScript之外的方法完成。
可以想到以下选项:
但是,我不知道如何在JavaScript中执行1和2,字符串对于选项3和4来说太长了(3我抱怨当我扩展它时字符串太大,4被截断),而我不知道怎么办5。
有什么建议吗?提前谢谢。
答案 0 :(得分:7)
您可以做的是使用新的HTML5"下载"标签的属性。如果将属性设置为文件名,则单击时,不会转到文件,而是使用文件名下载该文件。这有什么用?那么,你也可以使用'数据'方案。如果你有这个:
<a href="data:text/plain,This is an example message." download="example.txt">click to download</a>
它将导致文件下载。如果您使用JavaScript创建标记,请隐藏它,将href设置为&#34; data:text / plain,YourString&#34;,然后下载到&#34; blogDump.txt&#34;,然后使用单击方法,它会导致它下载。
编辑:示例!
var link = document.createElement('a');
link.setAttribute('href', 'data:text/plain,Example');
link.setAttribute('download', 'example.txt');
link.click();
编辑2:FireFox不喜欢被点击的DOM中没有的链接。第二个例子:
var link = document.createElement('a');
link.setAttribute('href', 'data:text/plain,Example');
link.setAttribute('download', 'example.txt');
document.getElementsByTagName("body")[0].appendChild(link).click();
答案 1 :(得分:7)
我不知道Firefox的控制台,但Chrome控制台公开了一个copy()方法,可以将任意大小的字符串放在剪贴板上
答案 2 :(得分:5)
它很容易像蛋糕:
var newWindow = window.open("");
var body = newWindow.document.body;
var text = "innerText" in body ? "innerText" : "textContent";
body[text] = "YOUR STRING GOES HERE";
<强> FIDDLE EXAMPLE 强>