Перекрестное происхождение GET из локального файла: // - PullRequest
4 голосов
/ 19 ноября 2011

Я пытаюсь создать html-файл для мониторинга некоторых вещей на удаленном сайте, в частности, на github.com.Я хотел бы иметь возможность сохранить его в этом простом файле, отправляя запросы прямо из JS в API github.Мой мыслительный процесс проходил так:

  1. Давайте использовать jsonp, так как мне нужен только доступ для чтения, так что придерживаться GET должно быть хорошо.
  2. Хорошо, я буду использовать OAuth Github вместо базовой аутентификации!
    • Это терпит неудачу, потому что браузер не любит, когда я перенаправляю на локальный ресурс: Not allowed to load local resource: file:///Users/... по понятным соображениям безопасности.
  3. Хорошо, я загружу oauth Githubв iFrame, затем получите результирующий URL (который должен содержать нужный мне код oauth).
    • Это терпит неудачу, потому что вы, очевидно, не можете получить доступ к чему-либо о дочернем iframe, если он находится в другом домене, поэтому, если я не перенаправлю обратно в файл: /// что бы то ни было, я не могу получить окончательный URL.И, конечно, я не могу перенаправить в файл: /// как угодно, потому что `` Не разрешено загружать локальный ресурс` снова.
  4. Хорошо, я буду использовать Cross-Оригинальное распределение ресурсов (снова возвращаясь к основному аутентификации)!

Итак, есть ли какие-либо предложения относительно того, как успешно пройти аутентификацию в этом API-интерфейсе из одного локального html-файла - либо как способ обойти описанные выше такты, либо как еще одну идею?

1 Ответ

1 голос
/ 19 ноября 2011

Если вы используете Google Chrome, вы можете попробовать запустить его с включенным переключателем

--allow-file-access-from-files

.

...