Какие браузеры разрешают междоменные вызовы ajax с Access-Control-Allow-Origin: *? - PullRequest
25 голосов
/ 10 декабря 2010

Какие браузеры разрешают междоменные вызовы ajax с Access-Control-Allow-Origin: *? Я устанавливаю службу REST и пытаюсь решить, нужно ли мне поддерживать JSONP, чтобы разрешить междоменный доступ к javascript, или это достаточно для установки заголовка Access-Control-Allow-Origin.

Ответы [ 2 ]

40 голосов
/ 10 декабря 2010

Вот одна ссылка , предполагающая, что поддержка в современных браузерах является разумной (но см. Примечание в конце этого ответа), предполагая, что код на стороне клиента решает проблему IE нарочно. (IE8 и IE9 поддерживают CORS, но не через XMLHttpRequest & mdash; вместо этого следует использовать XDomainRequest, и стоит отметить, что ни jQuery , ни Prototype не делают этого для вас в их оболочки ajax & ndash; я не знаю о других библиотеках . IE10 наконец правильно понял.) На этой странице, по сути, сказано, что CORS поддерживается в настольных версиях:

  • IE8 + (через XDomainRequest), IE10 + (правильно)
  • Firefox 3.6 +
  • Safari 4.0 +
  • Chrome 6 +
  • Opera 12.1 +

... а также

  • iOS Safari 3.2 +
  • Android-браузер 2.1 +

Вы должны спросить себя, каков ваш целевой рынок и могут ли они по-прежнему использовать более старые версии IE, потому что очень важно , на кого вы ориентируетесь. Но в целом, вы все еще (на данный момент), вероятно, хотите взглянуть на интерфейс JSONP & mdash; даже на американском, преимущественно домашнем рынке, IE6 + IE7 = около 20% пользователей. Я не знаю многих сайтов, которые могут просто игнорировать пятую часть рынка. :-) И если вы посмотрите на корпоративных пользователей, или пользователей в Азии, Африке или Центральной Америке, это число заметно возрастет. Вышеизложенное было верно в 2010 году. Здесь, в 2013 году, Китай действительно единственный, кто использует IE6 ( > 24% есть). Во всем мире пользователи IE6 и IE7 перешли на IE8 и IE9, и даже крупные корпоративные и государственные пользователи наконец-то «поняли» риски безопасности. IE8 будет с нами некоторое время (так как он выше, чем IE на Windows XP), но вы можете поспорить, что почти 20%, использующих IE9, скоро появятся на IE10.

0 голосов
/ 10 декабря 2010

У меня были некоторые проблемы при использовании Access-Control-Allow-Origin: *. Я полагаю, что это как-то связано с cookie-файлами и предварительным запросом (POST). Поэтому лучше указать, с какого домена вы собираетесь совершать эти звонки.

...