Javascript 从html预标记下载文本
我想下载我的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)代码>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”);
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')不客气。顺便说一句,检查我的更新答案,看看如何在点击后正确删除生成的链接。是的,当然……嘿,这段代码实际上不起作用……它只是下载文本文件,但里面的文本只是“未定义”。你是对的。答案和提琴更新以反映这一点。很好!:)