De acuerdo con extensiones de cromo API llamadas de origen cruzado utilizando objeto XMLHttpRequest se debe permitir si se establecen permisos:origen cruzado XMLHttpRequest en extensiones de cromo
Una extensión puede hablar con servidores remotos fuera de su origen, siempre y ya que primero solicita permisos de origen cruzado.
estoy siguiendo de cerca the tutorial pero el código de abajo me está dando un mensaje de error:
XMLHttpRequest no puede cargar http://www.google.com/search?hl=en&q=ajax. Origin chrome-extension: // bmehmboknpnjgjbmiaoidkkjfcgiimbo no está permitido por Access-Control-Allow-Origin.
No solo permití la solicitud a google.com, sino que la solicité en cualquier sitio web pero todavía no puedo acceder. ¿Alguien puede ayudar?
Mi archivo de manifiesto:
{
"name": "The popup",
"version": "0.1",
"popup": "popup.html",
"permissions": [
"http://*/*",
"https://*/*",
"https://www.google.com/*",
"http://www.google.com/*"
],
"browser_action": {
"default_icon": "clock-19.png",
"default_title": "This is title",
"default_popup": "popup.html"
}
}
la llamada real:
function sendRequest() {
document.write("Sending request");
var req = new XMLHttpRequest();
req.open("GET", "http://www.google.com/search?hl=en&q=ajax", true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
alert(req.responseText);
document.write("OK");
}
}
};
req.send();
}
Tuve un problema similar. El mío tenía que ver con no configurar los permisos entre dominios en el manifest.json. Añadiré http://developer.chrome.com/extensions/xhr.html para que otros puedan encontrarlo. – Jono