Я видел этот код с веб-сайта, и, видимо, он работает на других людей даже для моего друга, но не для меня. Я использую Nodejs и экспресс. Я делаю это неправильно или я пропустил какие-то важные части? После того, как кнопка была нажата, это не выскочило из файлового каталога или чего-либо еще, и нет никакой ошибки, которая также будет видна.
Это коды из скрипта.
<script>
function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
//var charset = "UTF-8";
// CSV File
csvFile = new Blob([csv], {type: "text/csv"});
// download link
downloadLink = document.createElement("a");
// file name
downloadLink.download = filename;
// create link to file
downloadLink.href = window.URL.createObjectURL(csvFile);
// hide download link
downloadLink.style.display = "";
// add link to DOM
document.body.appendChild(downloadLink);
// click download link
downloadLink.click();
}
function exportData(html,filename) {
var csv = [];
var rows = document.querySelectorAll("table tr");
for (var i=0; i<rows.length; i++) {
var rows = [], cols = rows[i].querySelectorAll("td, th");
for (var j=0; j<cols.length; j++) {
if (j == 7) {
row.push("'" + cols[j].innerText + "'");
}
else if (j == 2){
row.push("'" + cols[j].innerText + "'");
}
else {
row.push(cols[j].innerText);
}
}
csv.push(row.join(","));
}
// download csv file
downloadCSV(csv.join("\n"), filename);
}
</script>
Это коды от дизайнерской части.
<button type="button" class="btn btn-primary" id="exportBtn" onclick="exportData(null,'scrapedData.csv')">导出</button>