我一直在使用下面的代码来强制下载图片。是的我知道html5属性,但它并不适用于所有浏览器。我的问题似乎是执行调用函数的实际按钮
function SaveToDisk(fileURL, fileName) {
// for non-IE
if (!window.ActiveXObject) {
var save = document.createElement('a');
save.href = fileURL;
save.target = '_blank';
save.download = fileName || 'unknown';
var event = document.createEvent('Event');
event.initEvent('click', true, true);
save.dispatchEvent(event);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}
// for IE
else if ( !! window.ActiveXObject && document.execCommand) {
var _window = window.open(fileURL, '_blank');
_window.document.close();
_window.document.execCommand('SaveAs', true, fileName || fileURL)
_window.close();
}
// IE 11
try {
var evt = new MouseEvent('click'); } catch (e) {
window.open(fileURL, fileName);
}
}
只是一个测试图像,完成后它将成为photo.jpg。
<button style="width: 100px; height: 50px;" onclick=SaveToDisk(<?php echo $imagelarge[0]; ?>http://lorempixel.com/400/200/);></button>
答案 0 :(得分:0)
onclick
属性语法错误。它的值必须用double或single qoutes括起来并包含有效的javascript代码。
<button style="width: 100px; height: 50px;" onclick="SaveToDisk('http://lorempixel.com/400/200/', 'fileName.jpg')">Download</button>
Here完整的工作示例。