Stavo giocando intorno con alcune estensioni di Chrome e ho trovato questo esempio: http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url/Come si visualizza l'opzione page_action per pagine specifiche?
Tutto funziona bene, ma voglio creare la mia propria estensione e voglio vedere l'icona page_action su un sito specifico, non quelli con ' g 'nei loro url. Così ho cercato semplicemente di cambiare lo script da questo:
// 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);
In questa:
chrome.pageAction.show(tabId);
Ma ora non funziona ... Io non capisco. Ovviamente posso usare una soluzione alternativa, ma non è questo il punto ... Prima di tutto, devo creare una pagina di sfondo per farlo? Penso di sì ma non riesco a capire perché, e perché il metodo .show non funziona da solo? Ho provato a cercare nella documentazione di google e cose del genere, ma non sono riuscito a trovare nulla di utile non sono esperto e questo è stato il mio primo pomeriggio dedicato all'estensione di google, ma come dovrei sapere che "chrome.page.show (tabId) "deve andare in una pagina di sfondo se non è scritta da nessuna parte? Nessuna intenzione di criticare, ma come diavolo hai scoperto? Tutti i metodi di Chrome devono andare in una pagina di sfondo? Beh, sicuramente molte più domande allora che cosa è legittimo. Spero che tu possa darmi almeno una risposta!
Gli stai dando un 'tabId' valido? – abraham