无法下载html5以在Firefox中以编程方式工作(在Safari,IE,Opera,Chrome上运行)

时间:2018-08-08 05:54:01

标签: javascript html5 browser cross-browser downloading

    onDownload: function() {
        var element = document.createElement("a");
        element.setAttribute("href", "/metadata/rest/swagger?namespace=" + this.namespace);
        element.click();
    },

将下载功能添加到按钮。但这在Firefox中不起作用。(可在Safari,IE,Opera和Chromes上运行)

按以下方式更改代码后:

在html页面中创建锚点(),使其隐藏并在前面输入ID。通过id获取元素。设置href属性

onDownload: function() {
        var element = document.getElementById("download");
        element.setAttribute("href", "/metadata/rest/swagger?namespace=" + this.namespace);
        element.click();
},

它可在所有提到的浏览器上使用。为什么?

2 个答案:

答案 0 :(得分:0)

我可以在docs中看到:

createElement

  

不符合XUL和XHTML文档的DOM规范:创建的元素上的localName和namespaceURI没有设置为null。

但是,我不完全相信,您可以改用createElementNS

var element = document.createElementNS(this.namespace, 'a');

这篇文章可能无法完全回答,但希望您能得到一些帮助。如果您认为它对解决方案有用,请尝试提供帮助。

答案 1 :(得分:0)

您可以使用HTML5 download属性。

<a href="/path/to/file" download>

您可以使用javascript相应地更改href值。