Политика одинакового происхождения и обслуживание JS из CDN

Я хочу использовать сценарии JavaScript из CDN, такие как cloudflare.

Теперь мои скрипты взаимодействуют с моим сервером приложений через ajax. Не будут ли те же самые ограничения политики происхождения, когда я загружу эти скрипты из CDN?

Скажем, мое приложение находится в домене:

http://app.com

И я загружаю свои скрипты из

http://cdn.com/xyz/all.js

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

Я что-то не так понял?

Ответы

Ответ 1

Нет, это сработает. Вот почему работает JSONP. "Начало" script - это страница, в которой она выполняется, а не там, где она исходит.

Как вы просили об этом, здесь ссылка (я не мог найти лучшего, но Крокфорд хорошо известен)

Атрибут src, как ни странно, не ограничивается одной и той же политикой происхождения. Это означает, что может быть создан элемент script, который может перейти на любой сервер, получить script и выполнить его. Если script вызывает доставку JSON-кодированных данных, это очень полезно. К сожалению, нельзя ограничивать script или проверять его до его выполнения. Он работает с тем же полномочием, что и скрипты со страницы. Таким образом, script может использовать и использовать свои файлы cookie. Он может получить доступ к исходному серверу, используя авторизацию пользователя. Он может проверять DOM и глобальный объект JavaScript и отправлять любую информацию, которую он находит в любой точке мира. script Tag Hack небезопасен и его следует избегать.

http://javascript.crockford.com/script.html

Не действительно ссылка: если это не сработает, никто не сможет включить jQuery из Google CDN, а затем использовать его $.ajax.