Question

Quelqu'un at-il eu de chance d'effectuer origine croisées d'un script requêtes XHR utilisateur dans Google Chrome? Les requêtes passent par le serveur (je peux les voir dans les journaux), mais l'événement est readystatechanged n'a jamais tiré.

autorisations d'extension ne semblent pas faire l'affaire. Ni est JSONP.

Était-ce utile?

La solution

Les versions actuelles de Chrome (13.0.781 ou version ultérieure) prennent désormais en charge la plupart ou tous les GM_xmlhttpRequest() Doc fonctionnalité -. y compris les demandes croisées de domaine Voir Problème 18857: Soutenir XMLHttpRequest cross-site dans les scripts de contenu .

Ce script fonctionne parfaitement bien maintenant Chrome (et Firefox, bien sûr):

// ==UserScript==
// @name            _Cross domain (XSS) GM_xmlhttpRequest, Chrome too
// @include         http://stackoverflow.com/*
// @grant           GM_xmlhttpRequest
// ==/UserScript==

GM_xmlhttpRequest ( {
    method:     "GET",
    url:        "http://www.google.com/",
    onload:     function (response) {
                    console.log (   response.status,
                                    response.responseText.substring (0, 80)
                                );
                }
} );


(Installer ce script, puis parcourir une page SO. Le script va écrire les 80 premiers caractères de la page d'accueil de Google à la console.)

Autres conseils

de Chrome 13, vous pouvez faire des demandes d'origine croisées dans les scripts de contenu si vous avez inclus l'autorisation sur le site dans le manifeste.

Un script utilisateur dans Chrome est un script de contenu. scripts contenu ne peuvent pas faire les requêtes XHR croisée origine. Si vous souhaitez faire les requêtes XHR croisée origine, il doit être fait dans les pages d'extension (arrière-plan, pop-up, options).

Pour plus d'informations: http://code.google.com/chrome/extensions/content_scripts.html http://code.google.com/chrome/extensions/xhr.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top