href下载属性在最新的野生动物园版本12.1 13607.1.40.1.5

时间:2019-03-27 03:26:26

标签: browser download safari href safari-web-inspector

我正在设置一个新的xml文件下载Web应用程序,并希望提供链接以使用Javascript客户端下载xml文件。

根据caniuse.com(https://caniuse.com/#search=download),Safari> 10.1支持download属性。不幸的是,与chrome和firefox之类的其他浏览器相比,这种情况在safari的情况下似乎不起作用。基本上,单击href元素后,它将转到下一个屏幕,并且不会进行下载。

为此,我编写了以下href脚本。

         var link = document.createElement("a");
         link.download = filename;
         link.target = "_blank";

         // Construct the URI
         link.href = DOWNLOAD_URL;
         document.body.appendChild(link);
         link.click();

         // Cleanup the DOM
         document.body.removeChild(link); 

要使其工作正常,请在点击事件中添加超时,如下面的代码所示,它开始工作。请检查-

        var link = document.createElement("a");
        link.download = filename;

        link.target = "_blank";
        // Construct the URI
        link.href = DOWNLOAD_URL;
        document.body.appendChild(link);

        setTimeout(function() {
            link.click();

            // Cleanup the DOM
            document.body.removeChild(link);
            DOWNLOAD_COMPLETED = true;
            document.getElementById('nextButton').onclick();

        }, 500);

我想了解为什么野生动物园的行为与其他浏览器相比有所不同。 Safari浏览器的内部下载属性实现在某种程度上是异步的

我的下载脚本是否出错?你能帮助我吗?非常感谢!

0 个答案:

没有答案