Парсинг данных из Iframe на Javascript

  • Автор темы Artem325
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Artem325

#1
Вопрос такой вот...вся страница открывается с одного сайта, а ифрейм - с другого. Нужно всё, что прийдёт в него (туда приходят данные в XML- или JSON-формате) взять в переменную. как это сделать?
 
A

Artem325

#2
ну мне нужно это как нибудь отправить в свой скрипт через XMLHttpRequest. с этим уже разберусь. мне бы засунуть то, что придёт.
Код:
<iframe id="content" name="content" src="{$url}"></iframe>
Добавлено: Просто я в яваскрипте никак=) но появилась необходимость=) есть альтернатива: учить флеш и actionscript. но я думаю, лучше остановиться на яве и хтмл=)
 
A

Artem325

#3
хм...на document.getElementById("content").body пишет undefined. какое можно свойство взять для этого, если не это?
 
A

Artem325

#5
Дело в том, что в innerHTML содержится всё, что в родительском фрейме. а мне нужно именно из фрейма "content". и это всё несмотря на то, что я делаю document.getElementById("content").document.body.innerHTML
 
A

Artem325

#7
Код:
<a href=# onClick=getResp()>123</a>
Такое название функции потому, что она должна принимать ответ от одного сервера из ифрейма и отправлять в мой скрипт.
Но реакции вообще никакой...

Добавлено: контент всего родительского фрейма выдаёт...=(
 
@

@rtem

#8
Такое название функции потому, что она должна принимать ответ от одного сервера из ифрейма и отправлять в мой скрипт.
Но реакции вообще никакой...
а если так
Код:
<a href="java script:getResp();">123</a>
???

и еще можно увидеть json-массив который приходит?

только javascript вместе)))

если можешь подключить jquery, то попробуй такой способ

Код:
console.log(jQuery("#example-1 div.code-demo iframe").contents()[0].activeElement.contentDocument.body.innerHTML);

или

alert(jQuery("#example-1 div.code-demo iframe").contents()[0].activeElement.contentDocument.body.innerHTML);
вбей этот код в консоль в firebug по этой ссылке и получишь содержимое нижнего iframe.
 
A

Artem325

#9
Массив приблизительно такой, это зависит от запроса:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">JSON</div></div><div class="sp-body"><div class="sp-content">{"error":{"error_code":4,"error_msg":"Incorrect signature","request_params":[{"key":"api_id","value":"1877374"},{"key":"format","value":"JSON"},{"key":"method","value":"getFriends"},{"key":"v","value":"2.0"},{"key":"sig","value":"0bf0883e55aedda3d029ee5606e308f7"}]}}
JQuery подключить не пробовал, но с предыдущим кодом тоже никакой реакции
 
A

Artem325

#11
Предыдущий код:
Код:
<a href="java script:getResp();">123</a>
Мне нужно взять весь массив и отправить его своему PHP скрипту через XHR. Для этого мне нужно это всё как-то взять.
Ну выяснилось, что всё таки мне это не очень срочно нужно=)
 
@

@rtem

#12
это как я понял через ajax. самый простой вариант, подключаешь jQuery, и пишешь такой код.

Код:
var jsonArray = {"error":{"error_code":4,"error_msg":"Incorrect signature","request_params":[{"key":"api_id","value":"1877374"},{"key":"format","value":"JSON"},{"key":"method","value":"getFriends"},{"key":"v","value":"2.0"},{"key":"sig","value":"0bf0883e55aedda3d029ee5606e308f7"}]}};

jQuery.ajax({
type: "POST",
url: "some.php",
data: {"jsArray": jsonArray},
dataType: "json"
});
ну, а в своем php скрипте вынимаешь из поста, массив и обрабатываешь.


вот простой пример, вызова функции, как в прошлом коде, и вывод содержимого iframe
 

Вложения

A

Artem325

#13
Такс, если вы думаете, что я партизан - то...вы меня раскусили=)
Вот что я вообще планирую:
создаю IFrame-приложение вконтакте. А это мне нужно, чтобы с апи контакта работать на своём сайте=)
Вот и всё=)
 
A

Artem325

#14
Если я пытаюсь получить содержимое фрейма из главного окна, то работает. А у меня целевой фрейм находится так: окно->фрейм->фрейм.
И так не работает=(
 
A

Artem325

#15
это как я понял через ajax. самый простой вариант, подключаешь jQuery, и пишешь такой код.

Код:
var jsonArray = {"error":{"error_code":4,"error_msg":"Incorrect signature","request_params":[{"key":"api_id","value":"1877374"},{"key":"format","value":"JSON"},{"key":"method","value":"getFriends"},{"key":"v","value":"2.0"},{"key":"sig","value":"0bf0883e55aedda3d029ee5606e308f7"}]}};

jQuery.ajax({
type: "POST",
url: "some.php",
data: {"jsArray": jsonArray},
dataType: "json"
});
ну, а в своем php скрипте вынимаешь из поста, массив и обрабатываешь.


вот простой пример, вызова функции, как в прошлом коде, и вывод содержимого iframe
Это сработало. Спасибо=)
 
@

@rtem

#16
А у меня целевой фрейм находится так: окно->фрейм->фрейм.
И так не работает=(
как я понял у тебя окно там iframe1 в котором есть iframe2 и тебе нужно получить содержимое iframe2, правильно??? можешь выложить пример страницы с фреймами??? и указать содержимое какого тебе нужно получить... Тогда можно будет разговаривать дальше.
 
A

Artem325

#17
Такс. Это приложение вконтакте. После перехода на страницу приложения, контакт создаёт фрейм, в который загружается вся моя инфа с моего сайта. В этой инфе есть ещё один фрейм, который предназначен для того, чтобы подгружал страницу контакта. И из него мне и нужно получить информацию. Пример кода привести не могу, так как сложно копаться в коде контакта.
Ну, я недавно осознал, что мне это не очень-то и нужно. Так что забейте=)
Спасибо всем за помощ=)
 
Статус
Закрыто для дальнейших ответов.