Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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
Javascript 从html预标记下载文本_Javascript_Html_Pre - Fatal编程技术网

Javascript 从html预标记下载文本

Javascript 从html预标记下载文本,javascript,html,pre,Javascript,Html,Pre,我想下载我的pre标签包含的所有文本 我尝试了以下代码: 函数saveTextAsFile(){ var textToWrite=document.getElementById('textArea')。值; var textFileAsBlob=newblob([textToWrite],{type:'text/plain'}); var fileNameToSaveAs=“proxies.txt”; var downloadLink=document.createElement(“a”);

我想下载我的pre标签包含的所有文本

我尝试了以下代码:

函数saveTextAsFile(){ var textToWrite=document.getElementById('textArea')。值; var textFileAsBlob=newblob([textToWrite],{type:'text/plain'}); var fileNameToSaveAs=“proxies.txt”; var downloadLink=document.createElement(“a”); downloadLink.download=fileNameToSaveAs; downloadLink.innerHTML=“下载文件”; 如果(window.webkitURL!=null){ //Chrome允许点击链接 //没有实际将其添加到DOM中。 downloadLink.href=window.webkitURL.createObjectURL(textFileAsBlob); }否则{ //Firefox要求将链接添加到DOM中 //在点击之前。 downloadLink.href=window.URL.createObjectURL(textFileAsBlob); downloadLink.onclick=destroyClickedElement; downloadLink.style.display=“无”; document.body.appendChild(下载链接); } downloadLink.click(); } var button=document.getElementById('save'); addEventListener('click',saveTextAsFile)

1.
2.
3.

保存
将文本更改为写入分配:

var textToWrite=document.getElementById('textarea').innerText

然后删除“onclick”事件中对“destroyClickedElement”的引用,因为代码中不存在该函数,而是使用匿名函数:

downloadLink.onclick = function(){
    document.body.removeChild(downloadLink);
};
您可以看到它在这把小提琴中工作:

您可以将内容从
pre
复制到
input(type='hidden')
并从中获取
pre
没有
值的内容,请检查
console.log(textToWrite)我真的不知道JS中的任何东西(你可能已经看到了),所以你能再解释一下吗?:)请注意,但在js getElementById('textArea')中。需要getElementById('textarea')不客气。顺便说一句,检查我的更新答案,看看如何在点击后正确删除生成的链接。是的,当然……嘿,这段代码实际上不起作用……它只是下载文本文件,但里面的文本只是“未定义”。你是对的。答案和提琴更新以反映这一点。很好!:)­­­­­­­