Я хочу простой и легкий способ отправки междоменных запросов на мой адрес API ( api.example.com ), который является поддоменом моего основного домена ( example.com ).
Я много читал о методах и способах работы с XDR и их несовместимости с каждым используемым браузером, но XDR все еще очень сложен для меня. Мне не нужно полное / сложное решение, как easyXDM, которое я реализовал и отлично работал.
Итак, я решил «включить CORS», что решило проблему для современных браузеров Webkit и Gecko. Но, как всегда, есть IE (и в данном случае Opera), который еще не совместим с CORS.
Поскольку я хотел продолжить использовать методы jQuery AJAX, я искал решение, которое позволило бы XDR с методами jQuery. Затем я реализовал очень хорошее решение с помощью benvinegar , который заменяет метод jQuery.ajax () и, следовательно, все его зависимые методы: https://gist.github.com/859940. Его скрипт основан на трюке document.domain / iframe.
Перед вызовом функции, предложенной Беном, я протестировал поддержку CORS с помощью jQuery.support.cors (используя jQuery 1.6.2). Все хорошо, работает отлично.
Единственное, что меня не устраивает в приведенном выше связанном скрипте, это то, что мне нужно загрузить библиотеку jQuery из api.example.com , и я этого не хочу. Я собрал пакет минимизированных библиотек JavaScript / плагинов / скриптов в одном файле, который используется example.com ; это дает мне 2 варианта (для использования jQuery в api.example.com ): снова загрузить весь пакет или загрузить только некэшированную версию jQuery. Мне тоже не нравится.
Мой вопрос: возможно ли изменить DOM iframe из родительского фрейма, если оба фрейма имеют один и тот же document.domain? Если да, могу ли я клонировать jQuery из example.com в child-iframe ( api.example.com )? Как? Или я просто без ума от этого, и есть лучшее решение, учитывая то, что я описал?
Спасибо всем заранее,
Leonardo.