Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Скрипт не работает в Chrome (https://javascript.ru/forum/css-html/24999-skript-ne-rabotaet-v-chrome.html)

Replu 21.01.2012 18:06

Скрипт не работает в Chrome
 
1.html

<html>
<body>
    <iframe src="2.html"></iframe>
    <div id="a"></div>
</body>
</html>


2.html

<html>
<head></head>
    <script language="JavaScript" type="text/javascript">
    function addDivToParent() {
        if (parent) {
           parent.document.getElementById("a").innerHTML = document.getElementById("txt").innerHTML; 
        }
    }
    </script>
<body onload="addDivToParent()">
    <div id="txt">Here is a div text</div>
</body>
</html>


Работает везде кроме хрома. Как мне написать скрипт так, чтоб он и в хроме работал?

devote 21.01.2012 18:15

видимо хром сначала загружает iframe и его контент, а потом продолжает загружать родительский html тем самым при попытке получить доступ к диву мы получаем null, так как див еще не существует в дереве DOM

devote 21.01.2012 18:16

попробуйте запустить так:
<html>
<body>
    <div id="a"></div>
    <iframe src="2.html"></iframe>
</body>
</html>

Если все заработает корректно, значит моя теория описанная выше верна.

Replu 21.01.2012 18:55

Не работает :(

Pavel M. 22.01.2012 11:47

Цитата:

Сообщение от Replu (Сообщение 151902)
Не работает :(

вы это запускаете на сервере или на локальном диске ?

Replu 22.01.2012 16:52

на локальном диске

Pavel M. 22.01.2012 20:42

на локальном в Хроме parent. по-моему, не будет работать
попробуйте на сервере запустить

Replu 13.02.2012 17:45

На сервере всё работает. Спасибо:)


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