Il existe une extension Firefox qui ajoute les en-têtes CORS à toute réponse HTTP fonctionnant sur le dernier Firefox ( build 36.0.1 ) publié le 5 mars 2015 . Je l'ai testé et il fonctionne à la fois sur Windows 7 et Mavericks. Je vais vous guider à travers les étapes pour le faire fonctionner.
1) Obtenir l'extension
Vous pouvez télécharger le xpi d' ici (builds de l'auteur) ou d' ici
(miroir, peut ne pas être mis à jour).
Ou téléchargez les fichiers depuis GitHub. Maintenant, c'est aussi sur Firefox Marketplace: téléchargez ici . Dans ce cas, l'addon est installé après avoir cliqué sur installer et vous pouvez passer à l'étape 4.
Si vous avez téléchargé le xpi, vous pouvez passer à l'étape 3. Si vous avez téléchargé le zip depuis GitHub, passez à l'étape 2.
2) Construire le xpi
Vous devez extraire le zip, entrer dans le dossier "cors-partout-firefox-addon-master", sélectionner tous les éléments et les compresser. Ensuite, renommez le zip créé en * .xpi
Remarque: Si vous utilisez l 'interface graphique OS X, il se peut que des fichiers cachés soient créés, vous feriez donc mieux d' utiliser la ligne de commande.
3) Installation du xpi
Vous pouvez simplement faire glisser et déposer le xpi sur Firefox, ou aller à: "about: addons", cliquer sur le rouage en haut à droite et sélectionner "installer le module complémentaire à partir du fichier", puis sélectionner votre fichier .xpi. Maintenant, redémarrez Firefox.
4) Le faire fonctionner
Désormais, l'extension ne fonctionnera pas par défaut. Vous devez faire glisser l'icône d'extension vers la barre d'extension, mais ne vous inquiétez pas. Il y a des photos!
- Cliquez sur le menu Firefox
- Cliquez sur Personnaliser
- Faites glisser CorsE vers la barre
- Maintenant, cliquez sur l'icône, quand elle est verte, les en-têtes CORS seront ajoutés à toute réponse HTTP
5) Tester si cela fonctionne
jQuery
$.get( "http://example.com/", function( data ) {
console.log (data);
});
JavaScript
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
console.log(xmlhttp.responseText);
}
}
xmlhttp.open("GET","http://example.com/");
xmlhttp.send();
6) Considérations finales
Notez que https vers http n'est pas autorisé .
Il y a peut-être un moyen de contourner cela, mais c'est derrière la portée de la question.