Le Script de contenu d'Extension de Chrome sur https://chrome.google.com/webstore/

est-ce que Chrome bloque l'accès à l'url de la boutique en ligne?

je voudrais faire une extension qui affiche un bouton like à côté du bouton +1, mais il semble que les scripts de contenu ne fonctionnent pas sur https://chrome.google.com/webstore/*

Est-ce vrai?

24
demandé sur chingo 2012-07-23 17:20:42

1 réponses

TL;DR le webstore ne peut pas être scripté par des extensions, et le drapeau qui vous permettait auparavant de le faire (--allow-scripting-gallery) a été supprimé dans Chrome 35.

les extensions Chrome ne peuvent pas exécuter de scripts de contenu / insérer des CSS dans la boutique en ligne Chrome. Ceci est explicitement défini dans le code source, à la fonction IsScriptableURL (cliquez sur le lien précédent pour voir l'intégralité de la logique).

  // The gallery is special-cased as a restricted URL for scripting to prevent
  // access to special JS bindings we expose to the gallery (and avoid things
  // like extensions removing the "report abuse" link).
  // TODO(erikkay): This seems like the wrong test.  Shouldn't we we testing
  // against the store app extent?
  GURL store_url(extension_urls::GetWebstoreLaunchURL());
  if (url.host() == store_url.host()) {
    if (error)
      *error = manifest_errors::kCannotScriptGallery;
    return false;
  }

manifest_errors::kCannotScriptGallery est défini ici:

const char kCannotScriptGallery[] =
    "The extensions gallery cannot be scripted.";

l'erreur peut être visualisée dans la console de la page d'arrière-plan lorsque vous utilisez chrome.tabs.executeScript pour injecter un script dans un onglet Web Store. Par exemple, ouvrez https://chrome.google.com/webstore/, puis exécutez le script suivant dans la page d'arrière-plan d'une extension (via la console, pour le débogage en direct):

chrome.tabs.query({url:'https://chrome.google.com/webstore/*'}, function(result) {
    if (result.length) chrome.tabs.executeScript(result[0].id, {code:'alert(0)'});
});
28
répondu Rob W 2015-04-06 09:03:43