Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как отследить onload в iframe в ie8 (https://javascript.ru/forum/events/38484-kak-otsledit-onload-v-iframe-v-ie8.html)

platedz 03.06.2013 21:12

Как отследить onload в iframe в ie8
 
Например это
document.getElementsByTagName("iframe")[0].onclick = function()
	{
		alert("sdf");
	}

Работает во всех браузерах, кроме ie8. Точнее и в ie8 работате, но после отправки формы, связь теряется.
А как сделать так, чтобы и в Ie8 можно было отследить перезагрузку. Подскажите, пожалуйста.

Deff 03.06.2013 21:15

Цитата:

Сообщение от platedz
.onclick

Дык onclick или onload ?
2. Лучше с фреймами работать по имени

platedz 03.06.2013 21:35

Описка, он onload.
По имени то же самое.
frames.myframe.onload= function(){ console.log("111"); }
и так
frames[0].onload = function(){ console.log("111"); }

Т.е. событие работает, но только в момент загрузки фрейма, а после перезагрузки, т.е. после отправки формы, уже перестает работать. в ie9 опере хроме файфоксе, но нормально, проблема только в Ie8

Deff 03.06.2013 21:43

platedz,
Пробуйте повесить на тег
<iframe src="http://javascript.ru/forum/" width=100% height="1700" onload="frameLoad(this)"></iframe>
<script>
function frameLoad(frame) {
  alert("Загрузилось")
}
</script>

platedz 03.06.2013 22:05

Большое спасибо, так вышло. Если еще объясните, почему предыдущие примеры не работали, то будет совсем здорово.

platedz 10.06.2013 22:32

Думаю, что ответ скорее всего будет отрицательным, но тем не менее.
Возможно ли как-то отследить статус ответа iframe?

Deff 10.06.2013 23:20

Цитата:

Сообщение от platedz
Возможно ли как-то отследить статус ответа iframe?

Если фрейм с того же домена - достаточно легко вставить внутрь фрейма скрипт - сообщающей внешней функции на основной странице об успешной загрузке...
Ошибка будет при превышении ожидания времени ответа данной функции после события оnload...

Может быть проще загружать контент фрейма Аяксом(при ссылке с того же домена) и не мучать фреймы ? и считывать статус ?

platedz 11.06.2013 00:30

Дело в том, что нужно отловить не успешную загрузку, а например 502 ошибку, или любую другую ошибку сервера. В общем нужно узнать, что статус отличается от 200. Соответственно, если он не 200, то и скрипт в ответе передать не выйдет
С ajax конечно, проще, но в ie8 передать файл через него не получится.

Deff 11.06.2013 01:33

Цитата:

Сообщение от platedz
В общем нужно узнать, что статус отличается от 200. Соответственно, если он не 200, то и скрипт в ответе передать не выйдет
С ajax конечно, проще, но в ie8 передать файл через него не получится.

http://learn.javascript.ru/ajax-xmlhttprequest

platedz 11.06.2013 01:47

Это XMLHttpRequest, а у мне нужно узнать статус iframe


Часовой пояс GMT +3, время: 08:46.