powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Обновление ....
11 сообщений из 11, страница 1 из 1
Обновление ....
    #35728069
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, пожалуйста... Есть вот такая страничка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<html>
<body>

<script type="text/javascript" language="JavaScript">
    function fillIrame(){
        if(!document.getElementById("iframe_el")){
            createIframe();
        }
        var iframe=document.getElementById("iframe_el");
        iframe.setAttribute("width", "300px");
        iframe.setAttribute("height","200px");

        iframe.style.visibility="visible";
        var iframe_document=iframe.contentWindow.document;  
        iframe_document.body.innerHTML="111111111111111111111111111111111111111111111111";

    };

    function createIframe(){
        var id="iframe_el";
        var div_out=document.getElementById("output");
        div_out.innerHTML="<iframe id="+id+ " style='visibility:hidden;'></iframe>";
    }

</script>
<div id="output">

</div>
<!--<iframe id="iframe_el" style="visibility:hidden;"></iframe>-->
<input type="button" onclick="fillIrame();"/>
</body>
</html>

При клике на кнопочке, строка "111111111111111111111111111111111111111111111111" добавляется в iframe.... Вернее должна добавляться :)

Мозила вообще молчит, не кидает даже никаких ошибок.. Експлорер говорит, что
var iframe_document=iframe.contentWindow.document; это null или not object. В опере все работает.

Если добавить в методе createIframe() последней строчкой "alert('чего-то там')"? то все срабатывает. Такое впечатление, что то, что вставлено с помощью innerHTML не успевает занестись в документ.....
Как обойти это дело, подскажите, пожалуйста.
...
Рейтинг: 0 / 0
Обновление ....
    #35728115
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не успевает. Надо единички присваивать наоборот скриптом из дочернего окна.
...
Рейтинг: 0 / 0
Обновление ....
    #35728236
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо... :)

Переделал вот так:

<html>
<body>
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
<script type="text/javascript" language="JavaScript">
    function fillIrame(){
        if(!document.getElementById("iframe_el")){
            createIframe();
        }
        var iframe=document.getElementById("iframe_el");
        iframe.setAttribute("width", "500px");
        iframe.setAttribute("height","300px");

        iframe.style.visibility="visible";


        iframe.contentWindow.loadText("222222222222222");
        // var iframe_document=iframe.contentWindow.document;
        //iframe_document.body.innerHTML="111111111111111111111111111111111111111111111111";


    };

    function createIframe(){
        var id="iframe_el";
        var div_out=document.getElementById("output");

        var ifr=document.createElement("iframe");
        ifr.setAttribute("style.visibility","hidden");
        ifr.setAttribute("src","about:blank");
        ifr.setAttribute("id",id);

        var script = document.createElement("script");
        script.setAttribute("type","text/javascript");
        script.setAttribute("language","JavaScript");

        script.appendChild(document.createTextNode("function loadText(text){ document.body.innerHTML=text;}"));

        var head=document.createElement("head");

        head.appendChild(script);

        ifr.appendChild(head);

        div_out.appendChild(ifr);



        //div_out.innerHTML="<iframe id="+id+ " style='visibility:hidden;' src='about:blank'></iframe>";
    }

</script>
<div id="output">

</div>
<!--<iframe id="iframe_el" style="visibility:hidden;"></iframe>-->
<input type="button" onclick="fillIrame();"/>
</body>
</html>

не находит функцию.. :( В чем моя ошибка??
...
Рейтинг: 0 / 0
Обновление ....
    #35728319
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналогичный вопрос был недавно про окно тынц .
Идея в том, чтобы грузить не "эбаут:бланк", а страничку со скриптом, который из родительского фрейма берёт какую-нибудь переменную и куда надо себе присваивает. Например, на свой онлоад присваивает себе в иннерХТМЛ переменную с единичками. Только обращаться к родительскому фрейму не так как в примере (opener), а parent или как-то ещё.
...
Рейтинг: 0 / 0
Обновление ....
    #35728343
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понимаю.. но в том-то и дело, что мне нужно грузить в этот iframe именно контент, а не страницу.. Потому что с основной страницы, на которой должен будет находиться iframe, посылается запрос на сервер, а ответ сервера - как раз этот контент. Он формируется из шаблона freemarker'a...
Вот и пытаюсь искорячиться так, чтобы после генерирования на лету iframe записать в его body этот ответ сервера..
...
Рейтинг: 0 / 0
Обновление ....
    #35728356
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой Синий Кит...но в том-то и дело, что мне нужно грузить в этот iframe именно контент, а не страницу...
Я как раз в том топике и пытался объяснить, как это сделать.
...
Рейтинг: 0 / 0
Обновление ....
    #35728357
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, переделал функцию, в предыдущем куске точно была ошибка, но и сейчас не работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
function createIframe(){
        var id="iframe_el";
        var div_out=document.getElementById("output");

        var ifr=document.createElement("iframe");
        ifr.setAttribute("style.visibility","hidden");
        ifr.setAttribute("src","about:blank");
        ifr.setAttribute("id",id);

        var script = document.createElement("script");
        script.setAttribute("type","text/javascript");
        script.setAttribute("language","JavaScript");

        script.appendChild(document.createTextNode("function loadText(text){ document.body.innerHTML=text;}"));

        var head=document.createElement("head");

        head.appendChild(script);

        ifr.appendChild(head);

        div_out.appendChild(ifr);
    }

...
Рейтинг: 0 / 0
Обновление ....
    #35728391
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага.. понял Вашу идею.. Попробую :)
...
Рейтинг: 0 / 0
Обновление ....
    #35728430
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное Вам спасибо! Получилось! Вот код:

iframe.html
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<html>
<body>

<script type="text/javascript" language="JavaScript">
    function fillIrame(){
        if(!document.getElementById("iframe_el")){
            createIframe();
        }
        var iframe=document.getElementById("iframe_el");
        iframe.setAttribute("width", "500px");
        iframe.setAttribute("height","300px");

        iframe.style.visibility="visible";
    };


    function insertText(){
        var iframe=document.getElementById("iframe_el");
        var iframe_document=iframe.contentWindow.document;
        iframe_document.body.innerHTML="111111111111111111111111111111111111111111111111";
    }

    function createIframe(){
        var id="iframe_el";
        var div_out=document.getElementById("output");

        var ifr=document.createElement("iframe");
        ifr.setAttribute("style.visibility","hidden");
        ifr.setAttribute("src","wnd.html");
        ifr.setAttribute("id",id);

        div_out.appendChild(ifr);
    }

</script>
<div id="output">

</div>
<input type="button" onclick="fillIrame();"/>
</body>
</html>

wnd.html:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<html>
<script type="text/javascript" language="JavaScript">
    function insertText(){
    window.parent.insertText();
    }
</script>
<body>
</body>
<script>
        insertText();
</script>
</html>

...
Рейтинг: 0 / 0
Обновление ....
    #35730283
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос один возник...
В показанном выше примере я добавляю iframe с присвоенными ему определенными размерами. А каким образом можно сделать так, чтобы ширина этого iframe была равна ширине страницы? Ну и чтобы она изменялась с при изменении ширины страницы? Это возможно?
...
Рейтинг: 0 / 0
Обновление ....
    #35730296
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос отпадает... нашел, как сделать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    1 . function resizeTable(){  
    2 .   if (typeof(window.innerWidth) == "number") {  
    3 .     intWidth = window.innerWidth;  
    4 .     intHeight = window.innerHeight;  
    5 .   
    6 .   } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {  
    7 .     intWidth = document.documentElement.clientWidth;  
    8 .     intHeight = document.documentElement.clientHeight;  
    9 .   } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {  
   10 .     intWidth = document.body.clientWidth;  
   11 .     intHeight = document.body.clientHeight;  
   12 .   }  
   13 .   document.getElementById('contentTable').style.height = (intHeight -  300 )   "px";  
   14 . }  
   15 . window.onresize=resizeTable;  
   16 . window.onload=resizeTable;  
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Обновление ....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]