background.html:Вкладки повторите щелчок действия страницы
// Called when the url of a tab changes.
function checkForValidUrl(tabId, changeInfo, tab) {
if(changeInfo.status === "loading") {
if (tab.url.indexOf('google.com') > -1) {
// ... show the page action.
chrome.pageAction.show(tabId);
chrome.pageAction.onClicked.addListener(function(tab){
chrome.tabs.create({url: "facebook.com", "active":true});
});
}
}
};
// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);
Итак, я иду на Google, нажмите действия страницы в новой вкладке открывается фейсбук. Я делаю новую вкладку с google снова, нажмите действие страницы и открывает 2 facebook-tabs. Его странно, потому что мне нужно - 1 щелчок на странице действий - 1 новая вкладка. Как это исправить?
Спасибо.
о, спасибо. Я думаю, что «если показано действие страницы, тогда нажмите« .. »и т. Д.». Thnaks. – tim
Да, я предполагаю, что действие страницы «живет» с фоновой страницей и поэтому всегда вокруг и готово к скрытию или показу. (т. е. слушатель остается с ним). В качестве побочной заметки ваш вопрос заставил меня задаться вопросом, как изменить уже установленный слушатель. Ответ не документирован: 'chrome.pageAction.onClicked' имеет больше методов, чем просто' addListener', включая 'hasListener' и' removeListener'. Конечно, вам нужно будет ссылаться на ваш обратный вызов, чтобы использовать их. –