2012-07-23 13 views

Odpowiedz

28

TL; DR sklepu internetowego nie może być przez skrypty rozszerzeń, a flaga, która wcześniej pozwolił Ci to zrobić (--allow-scripting-gallery) has been removed in Chrome 35.

Rozszerzenia Chrome nie mogą wykonywać skryptów treści ani wstawiania CSS do Chrome Web Store. Jest to wyraźnie zdefiniowane w the source code, w funkcji IsScriptableURL (kliknij na poprzednie łącze, aby zobaczyć pełną logikę).

// 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 definiuje here:

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

Błąd można oglądać w konsoli tła strony, gdy używasz chrome.tabs.executeScript wstrzyknąć skrypt na karcie Web Store. Na przykład, otwarte https://chrome.google.com/webstore/, a następnie wykonać następujący skrypt na stronie tle przedłużenia (za pośrednictwem konsoli do debugowania na żywo):

chrome.tabs.query({url:'https://chrome.google.com/webstore/*'}, function(result) { 
    if (result.length) chrome.tabs.executeScript(result[0].id, {code:'alert(0)'}); 
}); 
+0

Ok Skrypty zawartość nie działa, to nie może to sposób poprzez tło stronach? Czy nie istnieje żaden sposób, aby to zadziałało (z wyjątkiem parametru wiersza poleceń)? – chingo

+0

Nie działa to już więcej (w przeglądarce Chrome 31). Złożyłem błąd - https://code.google.com/p/chromium/issues/detail?id=342090 – kzahel

+2

@kzahel Właśnie naprawiłem ten błąd. Powinieneś móc ponownie użyć '--allow-scripting-gallery' (przynajmniej z kompilacjami Canary). –

Powiązane problemy