首页 > 解决方案 > 用于下载文件的 Web 扩展代码在 Chrome 中有效,但在 Firefox 中失败并出现“非法字符”错误?

问题描述

此代码在我的网络扩展后台脚本中可以正常工作,Google Chrome但不能在Firefox. 我得到的错误是:

Unchecked lastError value: Error: filename must not contain illegal characters

chrome.runtime.onMessage.addListener(function (message) {
    var url = message.url;
    var fname = message.filename;
    fname = fname.replace(/[\\\/:"*?<>|\r\n]+/g, "_");

    chrome.downloads.download({
        url: url,
        filename: fname,
        conflictAction: 'uniquify',
        saveAs: true
    });
});

检查文件名 viaconsole.log是否为有效字符串。删除该filename: fname行使其在 Firefox 中工作,但没有我想要的文件名。

编辑:console.log("fname = " + fname);随后的结果console.log(fname.split('').map(c => c.charCodeAt(0)).filter(c => c < 32 || c > 127)) 控制台日志

标签: javascriptfirefoxgoogle-chrome-extensionfirefox-addonfirefox-addon-webextensions

解决方案


不确定这是否构成答案,但现在这是 Firefox 中已确认的错误 - https://bugzilla.mozilla.org/show_bug.cgi?id=1637973


推荐阅读