【问题标题】:Chrome Web Extension stops because of "Disable developer mode extensions" Chrome popupChrome Web 扩展因“禁用开发者模式扩展”Chrome 弹出窗口而停止
【发布时间】:2019-12-26 22:29:28
【问题描述】:

我编写了一个 Web 扩展程序,它会在 Chrome 浏览器打开后自动开始浏览指定的网站(通过“收集”网站 cookie 来模拟/训练用户配置文件)。

我知道您可以通过将其加入您自己的 Web 扩展程序的白名单来禁用该弹出窗口:

Disable developer mode extensions pop up in Chrome

但是:我的 Web 扩展必须在没有 GUI 的情况下在 Linux 上的 8-16 个虚拟机上自动运行,我不知道这是否可行以及如何去做。

我的扩展程序按预期打开了第一个 URL,但随后弹出窗口开始发挥作用并停止进一步的冲浪。如果我手动打开另一个选项卡,它会继续工作,但是通过 Javascript 打开一个选项卡并不能解决问题。我的代码通常不必处理多个选项卡,因为一切都通过一个选项卡完成。也许我在错误的时间执行代码。当弹出窗口没有出现时,代码可以完美运行。

我的代码没有打开标签:

background.js

var shouldMessageBeSent = true;

chrome.windows.onCreated.addListener(function() {
  chrome.tabs.update({url:"https://stackoverflow.com/"}); // placeholder URL
});

chrome.webNavigation.onCompleted.addListener(function() {
  if (shouldMessageBeSent == true) {
    chrome.tabs.query({"currentWindow": true}, function(tabs) {
      shouldMessageBeSent = false;
      chrome.tabs.sendMessage(tabs[0].id, {txt: "newURLvisited"}, function(response) {});
    });
  } 
});


chrome.runtime.onMessage.addListener(gotMessage);

function gotMessage(message) {
  if (Array.isArray(message)) { // It's an array in my code
    linksToVisit = message;
  }
  visitLinks(linksToVisit); // visits all the given links (the links are filtered in my code)
}

Content.js(高度简化)

chrome.runtime.onMessage.addListener(gotMessage);

function gotMessage(message) {
  if (message.txt === "newURLvisited") {
    var allLinks = document.getElementsByTagName("a");
    chrome.runtime.sendMessage(allLinks);
  }
}

有什么想法可以解决吗?它可能需要对活动的窗口/标签焦点做一些事情。

【问题讨论】:

  • 像 Selenium 这样的浏览器测试自动化工具可能更适合您的用例。
  • 我发现只要第一个会话仍然打开,打开 Chrome 的后续会话就不会显示弹出窗口。下一步是使用免费工具 RBTray 隐藏通知区域中的初始会话 rbtray.sourceforge.net 我知道这并不完美,但我认为 Chromium 开发人员不会允许任何方式阻止这种情况,所以隐藏是我们最好的赌注。这适用于任何 Chromium 版本和几乎所有 Windows 版本。 CPU/RAM 使用率似乎可以忽略不计。

标签: javascript google-chrome-extension


【解决方案1】:

显然你可以install a policy for Chrome,作为谷歌提供的模板,在此之前你可以edit to your taste;我想你可以在 Mac 和 Linux 上用 JSON 编辑器做类似的事情。

【讨论】:

    猜你喜欢
    • 2014-05-28
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    相关资源
    最近更新 更多