Как получить доступ к документу XML в iFrame? - PullRequest
2 голосов
/ 19 июля 2010

На моей странице есть iFrame, который отображает документ XML.

<iframe id="iFrame2" name="iFrame2"  width="100%" height="100%">

Мне нужно получить доступ к документу XML в iFrame с родительской страницы. Как мне это сделать?

Когда я пытаюсь:

console.log(iFrame2.document);

Я получаю следующую ошибку:

Permission denied for <http://localhost:3000> to get property Window.document from <http://www.imageshack.us>.

Ответы [ 3 ]

1 голос
/ 19 июля 2010

Я не верю, что существует кросс-браузерный способ доступа к документу XML в другом домене.Самый простой способ обойти это - установить небольшой прокси на вашем сервере, который будет захватывать данные, а затем просто сделать Ajax-вызов на сервер.

Я никогда не использовал Rails, поэтому точно не знаюкак бы это выглядело на стороне сервера (для этого вам нужно было бы создать отдельный вопрос), но в основном вы должны настроить его так, чтобы ваш сервер по запросу загружал этот XML-файл и выплевывал его обратнокак текстЗатем клиент получит эти XML-данные, используя запрос Ajax (Google, если вы не знаете, что это такое), и обработайте их с помощью JavaScript.

Итак, если вы используете jQuery ваш домен - www.example.com, и у вас есть представление с именем getxml, которое получает данные XML и возвращает их, в JavaScript у вас будет что-то вроде этого:

$.get('http://www.example.com/getxml', function(xml) {
    // Manipulate the `xml` variable here
}, 'xml');

(см. jQuery.get () для документации.)

1 голос
/ 19 июля 2010

См. FAQ по comp.lang.javascript:

http://www.jibbering.com/faq/#frameRef

0 голосов
/ 19 июля 2010

В JavaScript?Возможно, что-то вроде этого document.getElementById('iFrame2').contentWindow.document

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