1
background.js:chrome.pageAction.show()不tabs.onCreated監聽工作
chrome.tabs.onCreated.addListener(function(tab) {
chrome.pageAction.show(tab.id);//Doesn't work...icon is still grey
});
這是從我的擴展代碼的一部分。我希望每一個新選項卡在創建時都顯示頁面操作。不幸的是,chrome.pageAction.show()
不起作用。每次我創建一個新選項卡時,其圖標都會變灰。
但令我驚訝的是,如果我從控制檯撥打電話chrome.pageAction.show()
,它完美的工作。
manifest.json的
{
"name": "show Page Action",
"description": "show icon in all tabs",
"version": "1.0",
"background": {
"scripts": ["jquery-3.1.1.min.js", "background.js"]
},
"page_action": {
"default_icon": "icon_true.png"
},
"manifest_version": 2
}
Thanks.Can you can詳細說明爲什麼onCreated不起作用? – SKG
選項卡在onCreated事件中尚未有URL,因爲選項卡未綁定到某個URL,它稍後開始加載並在onUpdated事件中進行報告。而且由於pageAction API是基於URL的設計,所以只有在標籤URL已知的情況下才會初始化,即在包含'url'的changeInfo'的onUpdated事件中進行初始化。 – wOxxOm