Javascript 下载所有外部链接,如(pdf/图像)必须自动下载

Javascript 下载所有外部链接,如(pdf/图像)必须自动下载,javascript,html,Javascript,Html,一旦用户点击pdf链接,我需要从外部下载。它必须自动下载,不应显示在新窗口中。 下面是我的代码 function SaveToDisk_1(fileURL) { if (!window.ActiveXObject) { //alert("hi"); var save = document.createElement('a'); save.href = fileURL; save.target = '_blank';

一旦用户点击pdf链接,我需要从外部下载。它必须自动下载,不应显示在新窗口中。

下面是我的代码

function SaveToDisk_1(fileURL) {
     if (!window.ActiveXObject) {       //alert("hi");
        var save = document.createElement('a');
        save.href = fileURL;
        save.target = '_blank';
        save.download = fileURL;
        var evt = document.createEvent('MouseEvents');
        evt.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0,
            false, false, false, false, 0, null);
                save.dispatchEvent(evt);        alert('test')
        (window.URL || window.webkitURL).revokeObjectURL(save.href);
    }

 }
保存此页面


请帮助我解决问题,当我删除“警报”时,我无法在Mozila中下载该文件。

您可以使用href轻松完成此操作。我给你举几个例子

示例

function SaveToDisk_1(fileURL) {
     if (!window.ActiveXObject) {       //alert("hi");
        var save = document.createElement('a');
        save.href = fileURL;
        save.target = '_blank';
        save.download = fileURL;
        var evt = document.createEvent('MouseEvents');
        evt.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0,
            false, false, false, false, 0, null);
                save.dispatchEvent(evt);        alert('test')
        (window.URL || window.webkitURL).revokeObjectURL(save.href);
    }

 }
我假设您的文件与页面位于同一目录中。在这种情况下,您可以使用


这是我的html代码。你是否尝试过将目标从“\u blank”更改为“\u self”,这样它就不会在新窗口中打开。是的,Firefox正在工作,有人知道我们如何为IE做到这一点吗???
<a id="download" onclick="window.location.href='dwnld.pdf' return false;" href="">Save this page</a>
function SaveToDisk_1(fileURL) {
     if (!window.ActiveXObject) {       //alert("hi");
        var save = document.createElement('a');
        save.href = fileURL;
        save.target = '_blank';
        save.download = fileURL;
        window.location.href = save.download;
    }

 }