javascript - 用于下载文件的 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))
解决方案
不确定这是否构成答案,但现在这是 Firefox 中已确认的错误 - https://bugzilla.mozilla.org/show_bug.cgi?id=1637973
推荐阅读
- html - 如何使用 Selenium 自动化 ReactJS 可创建的下拉字段
- angular - 如何显示反应式表单验证错误消息
- java - 基于Java中的URL扩展检查文件类型
- javascript - 在另一个函数中使用时变量可能未定义(Typescript“错误 TS2532)
- react-native - 更改节点模块库
- sql-server - 使用位域和全文搜索查询非常慢
- javascript - 如何为在 JS 的主开发中的任何子 div 中拖放的任何项目触发放置事件
- css - 如何避免 dompdf 中的分页符
- react-navigation - React Navigation - DrawerNavigator 内的 TopTabNavigator
- angular - 如何正确转义 ngstyle 背景图像