【问题标题】:Chrome extension page action appearing outside of address barChrome 扩展页面操作出现在地址栏之外
【发布时间】:2016-03-02 18:29:23
【问题描述】:

我编写了一个 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 浏览器中,页面操作图标在地址内正确显示,并且仅在遇到匹配页面时出现:

但是,最近在某些浏览器中,页面操作开始显示为启用/禁用的浏览器操作,即在地址栏之外,这更加笨拙,因为围绕页面操作图标的整个想法是,当且仅当页面为与他们有关。在大多数情况下,显示禁用的页面操作是没有意义的。实际上,它发生在几天前它曾经运行良好的浏览器上,就像 Chrome 更新有一些副作用一样。

我认为这与某些 Chrome 设置有关,该设置现在在那里显示所有扩展,但有什么方法可以强制页面操作在地址栏中始终显示,并且仅在它真正有用时出现?

【问题讨论】:

    标签: google-chrome-extension


    【解决方案1】:

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

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

    看起来扩展开发者对此无能为力,但我真的希望 Google 能够恢复这一变化。

    【讨论】:

    • 我真的希望谷歌重新考虑它并扭转它。它违背了页面操作的全部目的,这些操作旨在不具有侵入性。
    • 公告更正链接,感谢指点:groups.google.com/a/chromium.org/forum/#!searchin/…
    • 我在公告中写道:“Chrome 应该确定页面操作图标是否已经可见,如果没有,它应该像过去一样在地址栏中显示它。我同意显示两个页面操作的图标是一个笨拙的用户体验,但由于 Chrome 拥有关于 UI 中可见内容的所有信息,它应该确保对于页面操作扩展,至少有一个图标出现在地址栏或外部。活动页面图标可见,通过用户意识进一步强化了您的安全目标,并提高了可点击页面操作图标的可用性。”
    • 重要链接:Google 正在收集反馈严格以扩展链接的形式+受更改阻碍的用例bugs.chromium.org/p/chromium/issues/detail?id=597657请保持克制并遵守具体讨论格式。
    猜你喜欢
    • 2011-03-03
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    相关资源
    最近更新 更多