Подтвердить что ты не робот

Есть ли способ включить CORS на страницах Github?

Я размещаю некоторые файлы JSON на страницах Github, но я не могу использовать $.getJSON для их извлечения, если они не принадлежат к одному и тому же домену.

Есть ли способ включить CORS для страниц Github?

4b9b3361

Ответ 1

Теперь страницы Github теперь имеют CORS.

Заголовок CORS:

Access-Control-Allow-Origin: *

По умолчанию добавляется все ответы от Github-страниц!

Ответ 2

В качестве обходного решения можно использовать JSONP, но он все равно немного боль, потому что файлы являются статическими, и каждый из них нуждается в уникальном методе обратного вызова.

Другой альтернативой было бы хранить файлы в Gists и использовать API Github, который работает с CORS.

Третья возможность - не хранить файлы на страницах Github и вместо этого размещать их в дистрибутиве S3/Cloudfront с включенным CORS.

Ответ 3

Это возможно с API, но у него есть предел...

"Для запросов, использующих Basic Authentication или OAuth, вы можете составлять до 5000 запросов в час. Для неавторизованных запросов ограничение скорости позволяет вам составлять до 60 запросов в час. Запросы, не прошедшие проверку подлинности, связаны с вашим IP-адресом и а не пользователь, делающий запросы."

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.github.com/repos/jimmywarting/diezyweb/contents/index.html?ref=gh-pages');
xhr.setRequestHeader("Accept", "application/vnd.github.3.raw");
xhr.send();

xhr.onload = function(e){
   alert(xhr.response)
}