即使选择了“以隐身模式允许”,使用分页操作在某些网址中呈现的扩展程序也不会以隐身模式显示。 background.js具有以下内容。
chrome.runtime.onInstalled.addListener(function() {
// Replace all rules ...
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
// With a new rule ...
chrome.declarativeContent.onPageChanged.addRules([
{
// That fires when a page's URL contains a 'g' ...
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { urlContains: 'sears' },
})
],
// And shows the extension's page action.
actions: [ new chrome.declarativeContent.ShowPageAction() ]
}
]);
});
});
最佳答案
看起来像个错误,所以我在这里报告了它:crbug.com/408326
解决方法是,可以通过将以下内容添加到 list 文件中来启用split incognito mode:
"incognito": "split"
不幸的是,
chrome.runtime.onInstalled
是not fired for extensions in incognito mode,因此,当扩展程序以隐身模式运行时,应避免使用此事件,如下所示:if (chrome.extension.inIncognitoContext) {
doReplaceRules();
} else {
chrome.runtime.onInstalled.addListener(doReplaceRules);
}
function doReplaceRules() {
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
// ... add rules
});
}