【问题标题】:"Browser is not defined" error when running firefox sample extension运行 Firefox 示例扩展时出现“未定义浏览器”错误
【发布时间】:2023-03-21 19:15:01
【问题描述】:

我在 GNU/Linux 系统中安装了 60.4.0esr(64 位)。运行 find-across-tabs 扩展时出现错误

ReferenceError: browser is not defined[Learn More]
find.js:1:5
<anonymous>
file:///home/username/webextensions-examples-master/find-across-tabs/find.js:1:5

我能够正确运行诸如borderify之类的扩展

【问题讨论】:

    标签: javascript firefox firefox-addon


    【解决方案1】:

    我认为错误很明显。这里的问题是

    ReferenceError: 浏览器未定义

    在:

    let backgroundPage = browser.extension.getBackgroundPage();
    

    他们可能引用了mozilla.org docs。您可以测试那里的示例,看看是否有错误。

    您可以直接在popup 中运行该函数。例如:

    假设一个后台脚本定义了一个函数 foo():

    // background.js
    
    function foo() {
      console.log("I'm defined in background.js");
    }
    

    在弹窗中运行的脚本可以像这样直接调用这个函数:

    // popup.js
    
    var page = browser.extension.getBackgroundPage();
    page.foo(); // -> "I'm defined in background.js"
    

    注意: 问题是您是否没有使用隐私浏览模式,因为此功能无法与它一起使用。这是由于this 错误。它将始终返回null

    【讨论】:

    • 我将其作为临时扩展加载。如何让它工作?
    • @user567879:现在我不明白你的意思。你能说得更具体点吗?
    猜你喜欢
    • 1970-01-01
    • 2016-06-13
    • 2012-04-21
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 2012-10-31
    • 2014-09-14
    • 1970-01-01
    相关资源
    最近更新 更多