Альтернативы iframe для загрузки межсайтового HTML при использовании iPhone? - PullRequest
2 голосов
/ 16 февраля 2010

Прошу прощения, если об этом уже спрашивали. Я искал, но ничего не нашел. Общеизвестным ограничением запросов AJAX (таких как jQuery $ .get) является то, что они должны находиться в одном домене по соображениям безопасности. И это общеизвестный обходной путь для этой проблемы - использовать iframes для извлечения произвольного HTML-кода с другого веб-сайта, а затем вы можете проверить содержимое этого HTML-кода с помощью javascript, который связывается между iframe и родительской страницей.

Однако на iPhone это не работает. В некоторых тестах я обнаружил, что iframes в браузере Safari iPhone показывают контент только в том случае, если это контент с того же сайта. В противном случае они показывают пустую область содержимого.

Есть ли способ обойти это? Существуют ли другие альтернативы использованию iframes, которые позволили бы мне перенести HTML-код со страницы другого домена в javascript на моей странице?

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

В этом же ответе упоминалось создание прокси-скрипта на моем сервере и загрузка туда данных. К сожалению, это также не работает в моем случае. Сайт, с которого я пытаюсь запросить данные, требует входа пользователя. И я не хочу, чтобы мой сервер знал учетные данные пользователя. Я надеялся использовать что-то на стороне клиента, чтобы моему приложению не нужно было знать учетные данные пользователя на другом сайте.

Я готов признать, что нет способа выполнить то, что я хочу сделать на iPhone. Я просто хотел это подтвердить.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2010

Обычно вы можете НЕ проверять содержимое iframe из другого домена через JavaScript. Наиболее распространенные ответы - использовать JSONP или иметь на исходном сервере прокси-скрипт для извлечения внутреннего содержимого.

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

0 голосов
/ 05 мая 2010

"В некоторых тестах я обнаружил, что iframes в браузере Safari iPhone показывают контент, только если это контент с того же сайта"

Я нашел то же самое.Это где-то задокументировано?Есть ли обходной путь?Для меня это звучит как нарушенные веб-стандарты, и мне интересно, есть ли решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...