2
即使在選擇'允許以不確認模式'後,我的擴展程序(使用頁面動作在某些URL中呈現)也不會以隱身模式顯示。 background.js有以下內容。如何在無痕模式下爲Chrome擴展程序啓用pageAction圖標?
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() ]
}
]);
});
});
要在哪個事件中將此代碼添加到page action的background.js文件中?即使你提交的bug是固定的,理論上你的解決方法已經不再需要了,但我注意到如果擴展名具有'「incognito」:「split」,並且該清單還包含一個'key'鍵(這是從Web Store下載的擴展),那麼declarativeContent不會應用到隱身環境。換句話說,如果您在本地加載擴展程序,則會啓用您的「無痕分裂」擴展程序圖標,如果您從網上商店下載擴展程序圖標,則不會啓用它。 – Pep 2017-08-15 17:02:06
@Pep擴展程序默認情況下無法在隱身窗口中顯示。您是否爲您的分機啓用了隱身模式?我剛剛創建了一個crx文件(使用與第一個bug報告相同的擴展名,「incognito」更改爲「split」),加載了Chromium 60,安裝了crx,在Chrome擴展中啓用了隱身訪問功能,並打開了一個隱身窗口中的網頁。顯示頁面操作。然後,我通過devtools移除了body元素,並且按預期禁用了頁面操作(因爲如果存在'
'元素,擴展示例顯示了頁面操作)。 – 2017-08-15 17:17:14我能夠在我的擴展中重構一些東西,以便能夠使用''incognito「:」spanning「'而不是'」隱身「:」split「'。但爲了試圖理解分割模式的概念,我嘗試使用「隱身」創建測試擴展:「分割」。事實證明,使用測試擴展([代碼在這裏](https://github.com/pcondal/test-extension)),我沒有得到描述的原始行爲(即加載解包=圖標啓用,網上商店=圖標禁用)。相反,即使我在Chrome 60.0.3112.90上加載解壓後的擴展程序,現在我也無法在隱身模式下啓用頁面操作圖標。 – Pep 2017-08-15 21:54:11