You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox Nightly Android插件内容脚本仅弹窗后运行的修复咨询

解决方案

1. 修正Manifest中的Gecko版本要求

你的browser_specific_settings.gecko.strict_min_version设置为42.0,但Firefox从91.0版本才开始支持Manifest V3,过低的版本号会导致Android端扩展加载逻辑异常。修改为:

"browser_specific_settings": {
    "gecko": {
      "id": "amitbokodev@gmail.com",
      "strict_min_version": "91.0"
    }
}

2. 显式指定Content Script注入时机

在content_scripts配置中添加"run_at": "document_start",确保脚本在页面加载初期就被注入,规避移动端的延迟问题:

"content_scripts": [{
    "css": ["assets/css/content.css"],
    "js": ["assets/js/jquery_slim_mini.js","assets/js/content.js"],
    "matches": ["https://9gag.com/*"],
    "run_at": "document_start"
  }]

3. 通过Service Worker主动注入脚本(兜底方案)

如果上述方法无效,改用后台Service Worker监听页面加载事件,主动注入脚本:

步骤1:更新Manifest权限与后台脚本声明

"permissions": [
    "storage",
    "tabs",
    "scripting"
],
"background": {
    "service_worker": "background.js"
}

步骤2:创建background.js添加注入逻辑

chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
    // 确认页面加载完成且为9GAG站点
    if (changeInfo.status === 'complete' && tab.url?.startsWith('https://9gag.com/')) {
        // 注入JS文件
        chrome.scripting.executeScript({
            target: { tabId: tabId },
            files: ['assets/js/jquery_slim_mini.js', 'assets/js/content.js']
        });
        // 注入CSS文件
        chrome.scripting.insertCSS({
            target: { tabId: tabId },
            files: ['assets/css/content.css']
        });
    }
});

额外检查项

  • 确保Android版Firefox Nightly为最新版本,旧版本的MV3支持存在已知bug
  • 测试前卸载旧扩展并重新加载修改后的版本,避免缓存干扰

内容的提问来源于stack exchange,提问作者AmitAM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 13:45:32