RPF*_*ltz 5 javascript string firefox
我正在使用Mozilla Firefox的控制台在博客上运行一些JavaScript,以便对其进行有组织的转储,并将其存储为字符串变量.该字符串包含大约5000条消息,因此它很长.我想以某种方式在计算机上保存这个字符串; 这部分可以使用JavaScript之外的方法在外部完成.
我想到以下选项:
但是,我不知道如何在JavaScript中执行1和2,字符串对于选项3和4来说太长了(3我抱怨当我扩展它时字符串太大,4被截断),而我不知道该怎么做5.
有什么建议?先感谢您.
你可以做的是使用标签的新HTML5"下载"属性.如果将属性设置为文件名,则单击时,不会转到文件,而是使用文件名下载该文件.这有什么用?那么,你也可以使用'数据'方案.如果你有这个:
<a href="data:text/plain,This is an example message." download="example.txt">click to download</a>
Run Code Online (Sandbox Code Playgroud)
它将导致文件下载.如果你使用JavaScript创建一个标签,隐藏它,将href设置为"data:text/plain,YourString",然后下载到"blogDump.txt",然后使用click方法,它将导致它下载.
编辑:示例!
var link = document.createElement('a');
link.setAttribute('href', 'data:text/plain,Example');
link.setAttribute('download', 'example.txt');
link.click();
Run Code Online (Sandbox Code Playgroud)
编辑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();
Run Code Online (Sandbox Code Playgroud)
我不知道Firefox的控制台,但是Chrome的控制台暴露了一个copy()方法,它会将任意大小的字符串放在剪贴板上
这很像蛋糕:
var newWindow = window.open("");
var body = newWindow.document.body;
var text = "innerText" in body ? "innerText" : "textContent";
body[text] = "YOUR STRING GOES HERE";
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
7425 次 |
| 最近记录: |