Quelqu'un peut-il me dire s'il vous plaît comment j'autorise CORS sur firefox? Je l'ai facilement géré sur Chrome et IE, mais j'échoue totalement avec Firefox. J'ai édité ce qui suit à propos de: entrée de configuration
security.fileuri.strict_Origin_policy = false
Cette tentative a été postée plusieurs fois ici et est racontée sur d'autres sites également, mais elle n'a aucun effet. J'ai lu le guide de Mozilla sur les politiques de même origine:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
mais cela explique simplement la SCRO et les sujets connexes. Une solution de contournement pour l'activer sur FF n'est pas répertoriée.
J'apprécierais vraiment une solution définitive.
ps: FORCECORS ne fonctionne pas non plus ...
Ne rien faire au navigateur. CORS est supporté par défaut sur tous les navigateurs modernes (et depuis Firefox 3.5).
Le serveur auquel JavaScript accède doit donner au site hébergeant le document HTML dans lequel le JS exécute une autorisation via les en-têtes de réponse HTTP du CORS.
security.fileuri.strict_Origin_policy
est utilisé pour donner à JS dans les documents HTML locaux l'accès à l'intégralité de votre disque dur. Ne le définissez pas sur false
car cela vous rend vulnérable aux attaques de documents HTML téléchargés (y compris les pièces jointes à des courriels).
Ce n'est possible que lorsque le serveur envoie cet en-tête: Access-Control-Allow-Origin: *
Si ceci est votre code, vous pouvez le configurer comme ceci (PHP):
header('Access-Control-Allow-Origin: *');
Ce problème me préoccupait depuis longtemps (CORS ne fonctionne pas en FF, mais fonctionne en Chrome et autres). Aucun conseil ne pourrait aider. Enfin, j’ai trouvé que mon sous-domaine dev local (comme sub.example.dev) n’était pas explicitement mentionné dans / etc/hosts, donc FF n’est tout simplement pas capable de le trouver et affiche un message d’erreur confus 'Aborted. .. 'in dev tools panel.
Mettre le sous-domaine exact dans mon / etc/hosts local a résolu le problème. / etc/hosts est simplement un fichier texte dans des systèmes Unix, vous pouvez donc l'ouvrir sous l'utilisateur root et placer votre sous-domaine devant l'adresse IP '127.0.0.1'.
Cet add-on Firefox peut fonctionner pour vous:
https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/
Il peut activer et désactiver la fonction CORS à des fins de développement.
Très souvent, vous n'avez aucune option pour configurer le serveur d'envoi. C'est pourquoi j'ai changé l'appel XMLHttpRequest.open de mon javascript en un fichier local get-file.php contenant le code suivant:
<?php
$file = file($_GET['url']);
echo implode('', $file);
?>
javascript fait ceci:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// File content is now in the this.responseText
}
};
xhttp.open("GET", "get-file.php?url=http://site/file", true);
xhttp.send();
Dans mon cas, cela résout parfaitement la restriction/situation. Pas besoin de pirater Firefox ou les serveurs. Il suffit de charger votre fichier javascript/html avec ce petit fichier php sur le serveur et vous avez terminé.