强制图像下载jQuery

时间:2015-06-14 16:48:02

标签: jquery

我一直在使用下面的代码来强制下载图片。是的我知道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>

1 个答案:

答案 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完整的工作示例。