Существует расширение Firefox, которое добавляет заголовки CORS к любому HTTP-ответу, работающему в последней версии Firefox ( сборка 36.0.1 ), выпущенной 5 марта 2015 года . Я протестировал его, и он работает как на Windows 7, так и на Mavericks. Я расскажу вам, как заставить его работать.
1) Получение расширения
Вы можете скачать xpi отсюда (авторские сборки) или отсюда
(зеркало, может не обновляться).
Или загрузите файлы с GitHub. Теперь он также доступен в Firefox Marketplace: Загрузите здесь . В этом случае надстройка устанавливается после нажатия кнопки «Установить», и вы можете перейти к шагу 4.
Если вы скачали xpi, вы можете перейти к шагу 3. Если вы загрузили zip-архив с GitHub, перейдите к шагу 2.
2) Создание XPI
Вам нужно распаковать zip, попасть в папку «cors-везде-firefox-addon-master», выбрать все элементы и заархивировать их. Затем переименуйте созданный zip в * .xpi
Примечание. Если вы используете графический интерфейс OS X, он может создавать некоторые скрытые файлы, поэтому вам лучше использовать командную строку.
3) Установка xpi
Вы можете просто перетащить xpi в firefox или перейти к: «about: addons», щелкнуть шестеренку в правом верхнем углу и выбрать «установить надстройку из файла», затем выбрать файл .xpi. Теперь перезапустите firefox.
4) Заставить его работать
Теперь расширение не будет работать по умолчанию. Вам нужно перетащить значок расширения на панель расширений, но не беспокойтесь. Есть картинки!
- Нажмите на меню Firefox.
- Нажмите на Настроить
- Перетащите CorsE на панель
- Теперь щелкните значок, когда он станет зеленым, заголовки CORS будут добавлены к любому ответу HTTP.
5) Проверка работоспособности
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) Заключительные соображения
Обратите внимание, что https на http недопустим .
Возможно, есть способ обойти это, но это лежит в основе вопроса.