Yo estaba jugando con algunas extensiones de cromo y me encontré con este ejemplo: http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url/¿Cómo hago que page_action aparezca para páginas específicas?
Todo funciona bien, pero quiero crear mi propia extensión y quiero ver el icono page_action en un sitio específico, no los que tienen ' g 'en sus urls. así que he intentado simplemente para cambiar el guión de esta:
// 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);
En esto:
chrome.pageAction.show(tabId);
Pero ahora no funciona ... Yo no lo entiendo. Obviamente puedo usar una solución alternativa, pero ese no es el punto ... Antes que nada, ¿debo crear una página de fondo para hacer esto? Creo que sí pero no puedo ver por qué, y ¿por qué el método .show no funciona solo? Traté de buscar en la documentación de google y esas cosas, pero no pude encontrar nada útil. No soy un experto y esta ha sido mi primera tarde dedicada a la extensión de Google, pero ¿cómo debo saber que el "chrome.page.show (tabId) "debe ir en una página de fondo si no está escrito en ninguna parte? Sin intención de criticar, pero ¿cómo diablos se enteraron? Todos los métodos de Chrome deben ir en una página de fondo? Bueno, definitivamente muchas más preguntas, entonces, ¿de qué es legítimo? Espero que puedas darme al menos una respuesta!
¿Le está dando una 'tabId' válida? – abraham