Получить междоменный RSS (xml) через Javascript - PullRequest
11 голосов
/ 03 декабря 2009

Я видел обходные пути на стороне сервера для получения rss (xmls) из междоменных доменов. На самом деле этот самый вопрос решает мою проблему, но выдает другое решение.

У меня есть ограничение , не используйте прокси для получения RSS-каналов. И, следовательно, решение Google AJAX Feed API также выходит из моды. Существует ли клиентский способ решения этой проблемы.

JSONP - это решение для запросов, которые отвечают выводом JSON. Но здесь у меня есть RSS-каналы, которые могут отвечать чистым xml.

Как мне решить проблему.

Ответы [ 5 ]

4 голосов
/ 03 декабря 2009

Используйте что-то вроде Yahoo! Каналы , которые будут служить вашим прокси и переводить RSS XML в ответ JSON.

Вот статья с инструкциями и примерами кода, которая объясняет, как это сделать: Yahoo Pipes - RSS без серверных сценариев .

1 голос
/ 04 мая 2010

Если у вас есть контроль над обоими доменами, вы можете попробовать междоменную библиотеку сценариев, такую ​​как EasyXDM , которая оборачивает причуды между браузерами и предоставляет простой в использовании API для взаимодействия в клиентском сценарии различные домены, использующие лучший доступный механизм для этого браузера (например, postMessage , если доступно, другие механизмы, если нет).

Предупреждение: вам нужно иметь контроль над обоими доменами, чтобы заставить его работать (где «контроль» означает, что вы можете размещать статические файлы на обоих из них). Но вам не нужно никаких изменений кода на стороне сервера.

Еще одна оговорка: здесь есть последствия для безопасности - убедитесь, что вы доверяете сценарию другого домена!

0 голосов
/ 03 декабря 2009

Единственный способ, которым я могу придумать, - это вставить подписанный Java-апплет на веб-страницу, чтобы получить XML и использовать javascript для взаимодействия с ним.Я даже не уверен на 100%, что представляет собой модель безопасности Java для этого в настоящее время, но я думаю, что она будет работать.

0 голосов
/ 03 декабря 2009

Решением для междоменных вызовов без прокси на стороне сервера является использование компонента SWF. Вы можете написать один или использовать легкодоступный FLSend

Компонент использует URLRequest ActionScript для вызова удаленных доменов и ExternalInterface для взаимодействия с методами JavaScript, которые визуализируют ваш контент.

0 голосов
/ 03 декабря 2009

На данный момент действительно нет кроссплатформенного решения для межсайтового скриптинга. У вас есть контроль или доступ к RSS-каналам? Если так, то почему бы просто не ответить JSON и не использовать JSONP?

Существуют и другие вещи, связанные с HTML5, такие как межсайтовый обмен сообщениями (так называемый обмен документами), который может быть способен доставить полезную нагрузку XML, но в прошлый раз, когда я проверял, они даже полностью определились с размером сообщения.

Спецификацию можно посмотреть здесь: http://dev.w3.org/html5/spec/Overview.html#crossDocumentMessages

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