【发布时间】: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 设置有关,该设置现在在那里显示所有扩展,但有什么方法可以强制页面操作在地址栏中始终显示,并且仅在它真正有用时出现?
【问题讨论】: