Mirianna
Estoy trabajando en una extensión de Chrome que envía una solicitud HTTP.
como lo mando a www.example.com
con el parámetro par
con valor 0
?
https://www.example.com?par=0
(el servidor lee el parámetro par
y hace algo)
Encontré este artículo, hablando de XMLHttpRequest de origen cruzadopero no sé cómo podría ayudarme su ejemplo.
marco bonelli
En primer lugar, deberá editar su manifest.json
y agregue el permiso para www.example.com
:
-
para el nuevo Manifiesto V3utilizar el
host_permissions
campo:{ "manifest_version": 3, ... "host_permissions": [ "https://www.example.com/*" ], ... }
-
Si todavía está usando el antiguo Manifiesto V2, use el
permissions
campo:{ "manifest_version": 2, ... "permissions": [ "https://www.example.com/*" ], ... }
Luego, en su página de fondo (o en otro lugar) puede hacer:
fetch('http://www.example.com?par=0').then(r => r.text()).then(result => {
// Result now contains the response text, do what you want...
})
Ver también documento de MDN para fetch()
.
Versión obsoleta usando XMLHttpRequest
(ES5):
function callback() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
result = xhr.responseText;
// ...
}
}
};
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://www.example.com?par=0", true);
xhr.onreadystatechange = callback;
xhr.send();
NOTA la advertencia en la parte superior del pariente página de documentación:
En Manifiesto V3,
XMLHttpRequest
no se admite en las páginas de fondo (proporcionadas por Service Workers). Considere usar su reemplazo moderno,fetch()
-
Solo como nota: si está en una página https y está solicitando una URL http, es posible que obtenga un
Mixed Content: The page at '...'
error.– Serguei Fiódorov
10 de abril de 2015 a las 14:57
-
¿Puedo agregar un patrón en lugar de un dominio específico?
– Adrián B.
24 de agosto de 2015 a las 11:09
-
Sí puedes, usando * comodines. Sin embargo, si desea permitir el acceso a través de https y http, deberá agregarlo por separado. Leer desarrollador.chrome.com/extensions/xhr
– Nino van Hooff
29 de agosto de 2015 a las 22:09
-
stackoverflow.com/questions/34627921/…, stackoverflow.com/questions/11506687/…
– franco r
14 de agosto de 2017 a las 4:05
-
Recibí un error CORB al intentar llamar
fetch
de mi script de contenido (agregando URL externa apermissions
matriz no resuelve el problema). La siguiente respuesta resolvió mi problema, que consistía en delegar la llamada de recuperación a una secuencia de comandos en segundo plano y enviar el análisis de la respuesta en la secuencia de comandos de contenido como se pretendía originalmente. stackoverflow.com/questions/55214828/…–Michael Yaworski
31 de mayo de 2019 a las 3:31