Я играл с некоторыми расширениями chrome, и я нашел этот пример: http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url/
Все работает отлично, но я хочу создать собственное расширение, и я хочу увидеть значок page_action на определенном сайте, а не те, в которых есть "g". Поэтому я попробовал просто изменить script следующим образом:
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Called when the url of a tab changes.
function checkForValidUrl(tabId, changeInfo, tab) {
// If the letter 'g' is found in the tab URL...
if (tab.url.indexOf('g') > -1) {
// ... show the page action.
chrome.pageAction.show(tabId);
}
};
// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);
В это:
chrome.pageAction.show(tabId);
Но теперь это не работает... Я не понимаю. Очевидно, я могу использовать обходной путь, но это не главное... Прежде всего, нужно ли создать справочную страницу для этого? Я думаю, да, но я не понимаю, почему и почему метод .show работает не один? Я попытался выполнить поиск в документации и материалах Google, но я не смог найти ничего полезного. Я не эксперт, и это был мой первый день, проведенный на расширении Google, но как мне узнать, что "chrome.page.show( tabId)" должен идти на фоновом режиме, если он не написан нигде? Нет намерения критиковать, но как, черт возьми, вы, ребята, узнали? Все хромовые методы должны идти на фоновой странице? Ну, определенно гораздо больше вопросов, чем это законно. Надеюсь, вы можете дать мне хотя бы один ответ!