Chrome扩展程序页面操作显示在地址栏之外

时间:2016-03-02 18:29:24

标签: google-chrome-extension

我编写了Chrome扩展程序页面操作,其中包含以下实现:

在manifest.json中:

  "permissions" : [
    "declarativeContent"
  ],

在background.js中:

chrome.runtime.onInstalled.addListener(function() {
  // Replace all rules ...
  chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
    // With a new rule ...
    chrome.declarativeContent.onPageChanged.addRules([
      {
        conditions: [
          new chrome.declarativeContent.PageStateMatcher({
            pageUrl: { urlMatches: 'www\.somewebsite\.com/(translate|revise)/' },
          })
        ],
        // And shows the extension's page action.
        actions: [ new chrome.declarativeContent.ShowPageAction() ]
      }
    ]);
  });
});

我注意到在大多数Chrome浏览器中,页面操作图标在地址中正确显示,只有在符合匹配页面时才会显示:

Page action appearing as expected

然而,在某些浏览器中,最近页面操作开始显示为已启用/已禁用的浏览器操作,即在地址栏之外,这是一个很笨拙的因为围绕页面操作图标的整体想法是当且仅当页面是与他们相关。在大多数情况下,没有必要显示禁用的页面操作。实际上,它发生在几天前用于工作的浏览器上,就像Chrome更新有一些副作用一样。

Page action appearing like a Browser action

我认为这与某些Chrome设置有关,现在可以显示所有扩展程序,但有什么方法可以强制页面操作在地址栏中始终显示,只有在真正有用时才会显示?

1 个答案:

答案 0 :(得分:34)

这似乎是Chrome新更新的结果,开发人员可能会推断大多数用户不会知道他们已经安装了扩展程序。

链接到公告:https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-extensions/upcoming/chromium-extensions/7As9MKhav5E/dNiZDoSCCQAJ

扩展程序开发人员对此无能为力,但我真的希望Google能够恢复此更改。