Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Загрузка iframe с атрибутом src=document.location.href в IE не работает (https://javascript.ru/forum/events/44594-zagruzka-iframe-s-atributom-src%3Ddocument-location-href-v-ie-ne-rabotaet.html)

demon_666_902 25.01.2014 15:18

Загрузка iframe с атрибутом src=document.location.href в IE не работает
 
Имеется страница

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>

<script type="text/javascript" >
var b = document.createElement('button');
b.innerHTML = 'asd';
b.onclick = function(event){
var d = document.createElement('iframe');
d.src = "site.html";
d.width = 300;
d.height=300;
alert(d.outerHTML);
document.body.appendChild(d);
}
document.body.appendChild(b);
</script>
</body>
</html>

Он созадет кнопку, по нажатию на которую вставляется iframe. Если ссылка не ведет на текущий документ, то все ок, но если подсунуть в src document.location.href,
то загружается пустой iframe. Только в IE причем. В хроме и фф все работает прекрасно. Не подскажете, в чем проблема, или я что-то делаю не так?

Яростный Меч 25.01.2014 16:34

http://javascript.ru/forum/dom-windo...om-vnutri.html

danik.js 25.01.2014 16:35

Наверно защита от рекурсии. Добавь соль в ссылку. Какой-нибудь незначимый параметр: site.html?blabla

demon_666_902 25.01.2014 16:57

Цитата:

Сообщение от danik.js (Сообщение 293998)
Наверно защита от рекурсии. Добавь соль в ссылку. Какой-нибудь незначимый параметр: site.html?blabla

Огромное спасибо, конечно, работает, извините, я должен был сразу написать, что по заданию нельзя было в ссылке использовать параметры!!!
А сделал я вот как:
в событие onload я обнаружил, что
frame.contentWindow.document.location.href находится что бы вы думали?
"about:blank";
тогда я добавил код:
if (frame.contentWindow.document.location.href.indexO f("about:blank") !== -1)
frame.contentWindow.document.location.href = document.location.href;

Правда у этого решения есть один большой минус - load срабатывает дважды, 1 раз создает пустой фрейм с about:blank, второй раз уже загружает документ!
Тему можно закрывать))))


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