У меня есть среда, которая не позволяет сторону сервера, пишущую сценарий действительно (чрезвычайно трудно "установить" сценарий на сервере). Я пытался использовать iframe для нарушения той же политики источника JavaScript; однако, это не работало. Есть ли какие-либо другие обходные решения, о которых я не знаю?
Спасибо!
Как David Dorward упомянутый, JSON-P является самым простым и самым быстрым; однако, существует другой прием, конкретно с помощью двух iframes.
Два обходят эту проблему, не используя JSONP, можно сделать следующее. Эта техника предполагает, что у вас есть своего рода доступ разработки к родительской странице.
на двух доменах/сайтах существует три страницы.
Страницы родитель и xdcomm страницы размещаются на том же домене, страница содержания размещается на любом другом домене. Страница содержания встраивается как iframe на родительской странице, и xdcomm страница встраивается как скрытый iframe на странице содержания.
xdcomm страница содержит очень простой сценарий, который обнаруживает, ПОЛУЧАЮТ параметры в строке запроса, синтаксические анализы, которые представляют в виде строки для метод
и args
переменные (где args
является JSON закодированная последовательность), и затем выполняют указанный метод с указанными аргументами на родительской странице. Пример может быть замечен здесь (источник представления).
Даже при том, что Та же политика Источника JavaScript ограничивает код одного домена от доступа к тому из другого, не имеет значения, если домены вкладываются друг в друге (домен A, вложенный в домене B, вложенном в домене A).
Так, короче говоря страница содержания отправляет сообщения в родительскую страницу через xdcomm страницу путем изменения источника iframe к чему-то как http://domaina.com/xdcomm.html?src=foo&args= [1,2,3,4]
. Это было бы эквивалентно выполнению нечто (1,2,3,4)
на родительской странице.
кроме того, знайте, что уже существуют библиотеки, которые помогают вам с этим, такой как easyxdm. Что я объяснил, вот основание одного из методов, что они используют, и в то время как это не могло бы быть как воображение, это - конечно, полностью функционирование и легкая реализация.
, надеюсь, нет, так как это будет дыре для безопасности! :)
Но если обе ваши сайты являются субдоменами на том же домене, возможно, документ. Добродомера может помочь.