【问题标题】:Chrome extension for incognito tab隐身标签的 Chrome 扩展
【发布时间】:2022-01-19 18:02:16
【问题描述】:

我正在开发一个与我们的网站交互的扩展程序。 交互是通过发送消息和处理这些消息来创建的。

有时我想以隐身模式打开我们的网站,但扩展程序无法正常工作。在我看来,chrome.runtime.onMessage 上的 listeners 没有被触发。

在我的contentScript.js 我有类似的东西

window.addEventListener(
  'message',
  (event, r) => {
    //check for sender and type otherwise return;
    chrome.runtime.sendMessage(data);
  }
);

扩展创建一个devtools_page,它加载一个.html。 在那个页面上我有

chrome.runtime.onMessage.addListener(messageHandler)

messageHandler 永远不会被触发。我什至可以用chrome.runtime.onMessage.hasListener(messageHandler) 检查监听器是否在那里,它返回true

即使我将监听器放在background.js(设置在manifest.json)中,这个监听器也不会被触发。

我试图将"incognito": "split" 放入manifest.json,但是当我在隐身标签中打开页面时,浏览器完全崩溃了。对于权限,我有["cookies", "tabs"]

更新:我在扩展程序设置页面上以隐身模式启用了扩展程序

更新:正如我所说,在设置"incognito": "split" 时,浏览器会崩溃。我将其缩小到我的contentScript.js,它由清单"content_scripts" 加载。我删除了所有内容。加载页面,浏览器不会崩溃。但是一旦我运行window.addEventListener,当我在隐身标签上打开该网站时,浏览器就会崩溃

更新:windowAddEventListener 我做了一个chrome.runtime.sendMessage(data)。我这样做是为了使网站能够将必要的信息发送到扩展程序以显示数据。删除chrome.runtime.sendMassage 时,浏览器不会在带有"incognito":"split" 的隐身模式下崩溃

【问题讨论】:

  • 可以在设置中启用隐身模式的扩展吗?
  • 我在隐身模式下启用了扩展,但问题仍然存在

标签: javascript google-chrome-extension google-chrome-devtools incognito-mode


【解决方案1】:

Chrome 在隐身模式下阻止扩展,

所以为了测试它,你可以允许某些扩展在隐身模式下工作,

  1. 点击 Chrome 中的菜单按钮。

  2. 导航到更多工具 > 扩展。

  3. 在打开的新标签页中,滚动列表以找到您要在隐身模式下启用的扩展程序。

  4. 点击“允许隐身”按钮。

【讨论】:

  • 谢谢。我已经这样做了。否则开发工具中的选项卡将不可用。所以不幸的是,这不是我的问题的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 1970-01-01
  • 2015-03-07
  • 2017-03-20
  • 2022-12-29
  • 2012-06-19
  • 1970-01-01
相关资源
最近更新 更多