2012-08-05 13 views
5

Staram się bawić z podstawowego rozszerzenie Chrome, która wygląda mniej więcej takAjax wywołanie nie działa chrom rozszerzenie z oczywistego v2

chrome.omnibox.onInputChanged.addListener(function(text, suggest){ 
     var baseUrl = "http://sample.com"; 
     var finalResult = []; 
       $.ajax({ 
        url : baseUrl, 
        dataType : "jsonp", 
        success: function(result) { 
            for (var i=0; i<result[1].legnth; i++){ 
              finalResult.push(
               {content : result[1][i], description : result[1][i]} 
             ); 
            } 
            suggest(finalResult); 
           }, 
        async: false 
       });   
}); 

to działa z manifestu w wersji 1, ale kiedy go zmienić na v2 Otrzymuję następujący błąd. Byłbym wdzięczny za każdą pomoc :)

Odmówił załadowania skryptu "http://sample.com", ponieważ narusza następującą dyrektywę Content Security Policy: "script-src" self "chrome-extension-resource:" .

Odpowiedz

8

Należy przeczytać o Content Security Policy

zakończyć plik manifestu z:

"content_security_policy": "script-src 'self' http://sample.com; object-src 'self'", 
+0

Dzięki za pomoc. Z jakiegoś powodu nie wydaje się, że to naprawia. Jeśli więc mam "http://sample.com/w/api.php?format=json&action=opensearch&search=" "i dołączam słowo kluczowe wyszukiwania i wywołuję w tym celu .ajax, wystarczy wspomnieć o http://sample.com w plik manifestu powinien naprawić to poprawnie? – iman453

+0

oh link miał, "content_security_policy": "script-src" self "https://example.com; object-src 'self' ", – iman453

+0

Tak, po raz pierwszy pomieszałem, teraz też edytowałem –

Powiązane problemy