【问题标题】:Run contentscript on extension load instead of page load在扩展加载而不是页面加载时运行 contentscript
【发布时间】:2018-12-06 20:34:05
【问题描述】:

我有一个自动安装在域中的扩展程序。但是,域中的 chrome 被配置为从特定页面开始。

扩展程序配置为通过清单在此特定页面上加载内容脚本。当您浏览页面时,这非常有效。但是,在第一次登录时,页面已经打开,并且在它之后加载/安装了扩展。它不会触发注入内容脚本。

如何确保在加载扩展程序后立即注入内容脚本?

"content_scripts": [
  {
    "matches":["<all_urls>"],
    "js":[
      "content_script.js"
    ],
    "all_frames": true,
    "run_at": "document_end"
  }
],

现在的问题是,新用户在访客模式下打开 Chromebook 时会感到困惑,因为内容脚本第一次无法正常工作。

他们需要关闭并重新打开页面。

【问题讨论】:

    标签: google-chrome google-chrome-extension content-script


    【解决方案1】:

    这种情况需要你自己处理,安装后手动注入脚本。

    在您的后台页面上检查它是否第一次运行,然后在第一次运行时您需要调用chrome.tabs.executeScript

    chrome.tabs.executeScript({
      file: 'contentScript.js'
    });
    

    更多信息可以在here找到。

    【讨论】:

    • 但是如何测试呢?尝试将其解包加载时,出现无法在 chrome:// url 上注入的错误。哪个是扩展页面。 ...我可能需要检查当前的活动标签!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多