Je veux développer JavaScript sur ma machine Windows. Connaissez-vous un navigateur sur lequel je peux désactiver Politique de même origine afin que je puisse me développer localement? Firefox serait optimal.
Ou si vous connaissez un proxy que je pourrais utiliser pour un site SOAP/WSDL, ce serait également très bien.
J'essaie de travailler avec le JavaSCript SOAP Client .
UPDATE 6/2012: Cela fonctionnait au moment de l'écriture, mais évidemment plus. Pardon.
Dans Firefox (peut également s'appliquer à d'autres navigateurs basés sur Gecko), vous pouvez utiliser l'extrait de code JavaScript suivant pour autoriser les appels entre domaines:
if (navigator.userAgent.indexOf("Firefox") != -1) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}
catch (e) {
alert("Permission UniversalBrowserRead denied -- not running Mozilla?");
}
}
Il semble qu'il y ait un problème créé dans le suivi des problèmes de Chromium pour obtenir la même fonctionnalité. Vous pouvez donc essayer de démarrer Chrome avec l'argument --disable-web-security
. Je ne sais pas sur quoi repose exactement cette version, mais au moins le logiciel WRT Tools de Nokia est livré avec une installation de Chrome qui permet en fait de charger du contenu à partir d’autres sites.
Malheureusement, en utilisant ce qui suit:
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
a été désactivé dans Firefox 5.
En utilisant Chromium 13.07, vous pouvez le démarrer avec la sécurité désactivée:
/ usr/bin/chrome-browser --disable-web-security
C'est sur Ubuntu 11, mais changez l'emplacement en tant que votre système.
Créez une page sur votre serveur local qui appelle le serveur distant et répondez de la même manière que le serveur distant.
Exemple, javascript appelle le serveur local pour un JSON. Le serveur local appelle le serveur distant pour ce JSON. Le serveur local reçoit le JSON du serveur distant et l'envoie au javascript.
Toutes les réponses données sont bonnes lorsqu'il s'agit de contourner la même politique Origin en production.
Pour le développement, il n’existe aucun moyen pratique de "désactiver" cette vérification de sécurité. Il existe des solutions de contournement (voir d'autres réponses) ou des hacks (vous pouvez utiliser Greasemonkey pour résumer le JavaScript et utiliser leur GM_xmlhttprequest comme mesure temporaire), mais aucun moyen de le "désactiver" comme vous le décrivez.
Dans Chrome (et Chrome) 48 et supérieur, vous devez ajouter le drapeau --user-data-dir
comme ceci:
chromium-browser --disable-web-security --user-data-dir
Et il fonctionne.
Je n'ai pas vraiment d'expérience avec cela, mais FireFox 3.5 permet l'utilisation de JS intersites conformément au brouillon Projet de partage des ressources d'origine multiple du W3C .
Firefox serait optimal.
Si vous pouvez vivre avec Internet Explorer, vous pourrez peut-être utiliser une application .hta
http://msdn.Microsoft.com/en-us/library/ms536496(VS.85).aspx
(C’est l’un des moyens utilisés par l’automatisation des tests Selenium pour résoudre ce problème)