Я играл с некоторыми расширениями Chrome и нашел этот пример: http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url/
Все работает нормально, но я хочу создать собственное расширение и увидеть иконку page_action на определенном сайте, а не на иконке с буквой "g" в URL.
Поэтому я попытался просто изменить сценарий из этого:
// 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's 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) "должен идти на фоновой странице, если она нигде не написана? Нет намерений критиковать, но как, черт возьми, вы узнали, ребята? Все методы Chrome должны идти на фоновой странице?
Ну, определенно гораздо больше вопросов, чем то, что законно. Надеюсь, вы сможете дать мне хотя бы один ответ!