如果任何地方有 "return" 语句,Firefox 插件的内容脚本将不会 运行

Firefox addon's content script will not run if there is a "return" statement anywhere

我正在开发一个 Firefox 插件,它利用内容脚本向网站添加一些附加功能。如果我的内容脚本包含 return 语句,代码将不会 运行 - 甚至脚本第一行中的 "console.log" 语句也不行!

我已经在 Firefox 68.0.2(64 位)上测试过了。 return 语句在 if 块中,因此应该执行它之前的任何 console.log 语句 - 但它们不是。如果我注释掉 "return" 行,它前后的所有行都会再次起作用,但如果我保留它,甚至不会执行第一条语句。

console.log("Starting XX-Tools")
var ctr_player = window.VIDEO_PLAYERJS
if (typeof ctr_player === undefined) {
    console.log("No player found")
    return
}
console.log("Player found!")

我期待:

Starting XX-Tools  
Player found

或至少:

Starting XX-Tools  
No player found

我没有输出。如果删除 return 语句,我会得到以下输出:

Starting XX-Tools
Player found

如果该代码不在函数内部,则 return 是语法错误。 – 尖

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Bad_return_or_yield