1

我正在使用以下函数在 Office 365 应用程序中下载附件文件,作为二进制数据:

var saveByteArray = function (data, name) {
    var a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
    var blob = new Blob(data, { type: "octet/stream" }),
    url = window.URL.createObjectURL(blob);
    a.href = url;
    a.download = name;
    a.click();
    window.URL.revokeObjectURL(url);
};

它在 Chrome 浏览器中成功运行,但是当我通过 Outlook 桌面客户端打开它时出现以下错误:

错误类型错误:在严格模式下不允许分配给只读属性

执行此行时发生错误:

access a.style = "display: none";

此实施是否有任何替代解决方案?

4

1 回答 1

1

您应该#setAttribute改用:

a.setAttribute('style', 'display: none');

我还建议在设置a元素的其他属性时使用它。

于 2015-02-04T09:16:31.383 回答