我正致力于制作文字&当用户从同一表单上的文本区域中显示的查询中单击下载时的sql文件。我写了以下代码。但问题是,URL正在被替换,整个页面在下载后会自动刷新。因此,继续运营无法进行。
Javascript方法
function download() {
var element = document.createElement('a');
var filename = document.getElementById("filenameInput").value;
var text = document.getElementById("runquerytext").value;
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + text);
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
有关如何在不重新加载/更改uri的情况下下载生成的文件的任何建议将非常感激。
答案 0 :(得分:0)
如果您希望有人在不刷新页面的情况下下载文件,我建议您使用iframe。页面正在重定向,因为“a”标记在单击时重定向页面。因此,要解决使用javascript或图像标记生成动态iframe标记。例如:
function download() {
var element = document.createElement('iframe');
var filename = document.getElementById("filenameInput").value;
var text = document.getElementById("runquerytext").value;
element.setAttribute('src', 'data:application/octet-stream;charset=utf-8,' + text);
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
}