如何在不使用 <a>
的情况下从后端下载动态创建的图像属性?我要下载生成的二维码。
JS文件:
var textarea = document.getElementById("textarea"),
content = document.getElementById("content");
var data = encodeURIComponent(textarea.value),
size = document.getElementById("size").value,
chart = "http://chart.googleapis.com/chart?cht=qr&chs=" + size +
"x" + size + "&choe=UTF-8&chld=L|0&chl=" + data;
if (data === "") {
alert("Please enter a valid data!");
textarea.focus();
content.style.display = "none";
} else {
content.style.display = "";
document.getElementById("qrcode").src = chart;
}
document.addEventListener("keydown", function(e) {
if (e.ctrlKey && e.keyCode == 13) {
}
});
HTML代码:
<p>Enter an URL or some text bellow and hit the Generate button (
<kbd>Ctrl</kbd>+
<kbd>Enter</kbd>)!</p>
<textarea id="textarea" autofocus></textarea>
<label for="size">Size (px):</label>
<input id="size" type="number" value="150" min="50"
max="500" step="50">
<button onclick="App.genQRcode()">Generate</button>
<div id="content" style="display: none;">
<p><img id="qrcode" src="" /></p>
</div>
最佳答案
据我了解,您需要使用 a 标签。你能做的是在 JS 中动态创建一个 a 标签,将 href 添加到图像然后触发点击?
var thisLink = document.createElement("a"),
thisLink.id = "generatedQRCode",
thisLink.href= document.getElementById("qrcode").src,
thisLink.download = "download";
document.body.appendChild(thisLink);
document.getElementById("generatedQRCode").click();
document.getElementById("generatedQRCode").remove();
关于javascript - 从网页下载图像而不使用 <a> 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52534544/