2012-08-05 13 views
5

Estoy tratando de jugar con una extensión de cromo básico, que es algo como estoAjax llamada no trabaja extensión de cromo con v2 manifiesta

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 
       });   
}); 

Esto funciona con la versión 1 del manifiesto, pero cuando lo cambio a V2 , Recibo el siguiente error. Agradecería cualquier ayuda :)

Se negó a cargar el script 'http://sample.com' porque infringe la siguiente directiva de política de seguridad de contenido: "script-src 'self' chrome-extension-resource:" .

Respuesta

8

Debe leer sobre Content Security Policy

completar el archivo de manifiesto con:

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

Gracias por su ayuda. Eso no parece arreglarlo por alguna razón. Entonces, si tengo 'http://sample.com/w/api.php?format=json&action=opensearch&search= "' y añado una palabra clave de búsqueda y llamo .ajax sobre eso, solo menciono http://sample.com en el archivo de manifiesto debería arreglarlo ¿verdad? – iman453

+0

oh, el enlace lo tenía, "content_security_policy": "script-src 'self' https://example.com; object-src 'self' ", – iman453

+0

Sí, la primera vez que mezclé. Edité ahora también. –