25 Stimmen

Welche Browser erlauben domänenübergreifende Ajax-Aufrufe mit Access-Control-Allow-Origin: *?

Welche Browser erlauben domänenübergreifende Ajax-Aufrufe mit Access-Control-Allow-Origin: * ? Ich stelle einen REST-Dienst ein und versuche zu entscheiden, ob ich JSONP unterstützen muss, um einen domänenübergreifenden Javascript-Zugriff zu ermöglichen, oder ob es ausreicht, den Access-Control-Allow-Origin-Header zu setzen.

40voto

T.J. Crowder Punkte 948310

Hier ist eine Referenz was darauf hindeutet, dass die Unterstützung in modernen Browsern vernünftig ist (siehe aber den Hinweis am Ende dieser Antwort), vorausgesetzt, der clientseitige Code behandelt das IE-Problem absichtlich. (IE8 und IE9 unterstützen CORS, aber nicht über XMLHttpRequest  -müssen Sie verwenden XDomainRequest statt, und es ist erwähnenswert, dass weder jQuery noch Prototyp macht das für Sie in ihren Ajax-Wrappern - ich weiß nicht, ob andere Bibliotheken . IE10 schließlich macht es richtig.) Auf dieser Seite heißt es im Wesentlichen, dass CORS wird in den Desktop-Versionen von unterstützt:

  • IE8+ (über XDomainRequest ), IE10+ (richtig)
  • Firefox 3.6+
  • Safari 4.0+
  • Chrom 6+
  • Opera 12.1+

...sowie

  • iOS Safari 3.2+
  • Android-Browser 2.1+

Sie müssen sich fragen, was Ihre Zielgruppe ist und ob sie wahrscheinlich noch ältere Versionen des IE verwenden, denn es ist sehr wichtig auf wen Sie abzielen. Aber im Großen und Ganzen sollten Sie (im Moment) wahrscheinlich immer noch eine JSONP-Schnittstelle in Betracht ziehen - selbst auf dem US-amerikanischen Markt, der hauptsächlich von Privatpersonen genutzt wird, sind IE6 und IE7 etwa 20 % der Nutzer. Ich kenne nicht viele Websites, die ein Fünftel des Marktes einfach ignorieren können :-) Und wenn man sich die Benutzer in Unternehmen oder in Asien, Afrika oder Mittelamerika ansieht, steigt diese Zahl noch deutlich an. Im Jahr 2010 war dies der Fall. Hier im Jahr 2013 ist China wirklich der einzige Überlebende, der den IE6 verwendet (>24 %). Weltweit sind IE6- und IE7-Nutzer auf IE8 und IE9 umgestiegen, und selbst große Unternehmen und Behörden haben die Sicherheitsrisiken endlich "begriffen". Der IE8 wird uns noch eine Weile erhalten bleiben (denn das ist der höchste Stand des IE unter Windows XP), aber Sie können darauf wetten, dass die fast 20 %, die den IE9 verwenden, bald auf den IE10 umsteigen werden.

0voto

Alfred Punkte 58623

Ich hatte einige Probleme bei der Verwendung von Access-Control-Allow-Origin: *. Ich glaube, es hatte etwas mit Cookies und Preflight-Anfragen (POST) zu tun. Es ist also besser, anzugeben, von welcher Domäne aus Sie diese Aufrufe tätigen werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X