相关疑难解决方法(0)

升级或安装后重新注入Chrome扩展程序内容脚本

安装或升级我正在处理的Chrome扩展程序后,不会重新注入内容脚本(在清单中指定),因此需要页面刷新才能使扩展能够正常工作.有没有办法强制脚本再次注入?

我相信我可以通过从清单中删除它们然后处理在后台页面中注入哪些页面来以编程方式再次注入它们,但这不是一个好的解决方案.

我不想自动刷新用户的标签,因为这可能会丢失一些数据.安装或升级扩展时,Safari会自动刷新所有页面.

browser-extension google-chrome-extension content-script

48
推荐指数
3
解决办法
9476
查看次数

在扩展更新后发送消息时,如何避免“扩展上下文无效”错误?

发布更新后,我正在尝试为Chrome扩展程序的用户提供流畅的体验。

我在应用程序更新时重新注入了内容脚本,即使用户继续在扩展程序更新后未刷新的页面上继续使用我的扩展程序,我的功能也起作用。刷新页面是理想的选择,但是我不想强迫用户使用。

但是,在扩展程序更新之后,但在代码尝试从内容脚本/页面发送消息到后台页面时,在刷新页面之前,我的内容脚本控制台(将内容脚本插入的页面)中出现以下错误:

未捕获的错误:扩展上下文无效。

有办法“重建”连接吗?我尝试了长期使用的端口和常规消息传递-更新扩展具有相同的效果。

任何想法/方向表示赞赏。

这是我的简单消息传递代码(在内容脚本中),引发错误...但是可以与后台脚本进行通信:

chrome.runtime.sendMessage({ msg: "recordFeedback", obj: commentObj, source: source}, function(response){
  console.log('Sent to DB...response was: ', response, response.recordFeedbackResponse);
});
Run Code Online (Sandbox Code Playgroud)

google-chrome-extension

13
推荐指数
4
解决办法
1万
查看次数

安装时用于Firefox Web扩展的内容脚本注入

如果在Firefox的manifest.json中指定了内容脚本,Firefox还将为已打开的选项卡加载内容脚本并执行它们,即使选项卡已处于已加载和就绪状态.

为已打开的标签安装扩展程序时,Google Chrome不会添加任何内容脚本.为旧版标签刷新页面时会加载内容脚本.

我想问的是Firefox的行为是预期的还是bug?

firefox google-chrome google-chrome-extension firefox-addon-webextensions

7
推荐指数
1
解决办法
432
查看次数

Chrome 扩展程序更新流程

我从 chrome 扩展开发开始,并且在开发过程中对扩展安装/更新流程和测试有几个问题:

  1. 扩展更新后后台脚本会发生什么,chrome 是否执行后台脚本重新加载?
  2. 扩展更新后,内容脚本是否与后台脚本分离?
  3. 如果后台脚本中有一个 onInstalled 事件处理程序,那么当 chrome 更新扩展程序时该事件处理程序会发生什么(此事件处理程序是否已分离,更新完成后,附加新处理程序然后执行或执行其他一些流程)?
  4. 有没有办法在开发过程中模拟更新过程,以便调试更新过程中发生的事件,例如在某些本地服务器上托管扩展并从那里更新?
  5. 在哪里搜索有关此类和类似主题的文档,chromium 源代码是正确的地方还是至少是起点?

谢谢!

javascript google-chrome chromium google-chrome-extension

5
推荐指数
1
解决办法
1120
查看次数