2016-03-02 65 views
21

我写了一个Chrome扩展页面动作,与下面的实现: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的某些设置,现在显示有所有扩展,但有什么办法可以强制页面行动,在地址栏一直显示,只有出现时,它可以真的有用吗?

回答

31

看起来像这是Chrome的新更新的结果,开发者可能会推测大多数用户不知道他们有扩展安装,否则。

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

它看起来并不像扩展开发人员可以做这样的事情,但我真的希望谷歌恢复这种变化。

+16

我真的希望谷歌重新考虑它,它被颠倒过来。它破坏了页面操作的全部目的,这些操作旨在不侵入。 – Pep

+0

公告:https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-extensions/upcoming$20ui$20change/chromium-extensions/7As9MKhav5E/dNiZDoSCCQAJ – rsanchez

+0

更正了公告的链接,谢谢你的指针:https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-extensions/upcoming/chromium-extensions/7As9MKhav5E/dNiZDoSCCQAJ – Pep