|
|
|
| Добрый вечер.
Задача следующая:
Есть страница http://js.sdelajka.com/test_min.html , где-то на ней находится элемент с классом eMessage.
На ней с помощью одного подключенного js-скрипта (в моем случае m.js) нужно вывести перед элементом с классом eMessage результат скрипта hellobefore.js , а после этого элемента результат helloafter.js
Все что я натворил можно просмотреть:
http://js.sdelajka.com/test_min.html
http://js.sdelajka.com/m.js
http://js.sdelajka.com/hellobefore.js
http://js.sdelajka.com/helloafter.js
По http://js.sdelajka.com/test_min.html видно что результат мы не получаем (в фаерфоксе код яваскриптов выводится в самом низу страницы, один за другим - хотя просто текст выводится там где надо. В хроме эти коды вообще не отображаются).
Подскажите пожалуйста как дорешать задачу. | |
|
|
|
|
|
|
|
для: kulibko
(18.05.2012 в 21:24)
| | Ну у вас и наворочено :-)
В общем так - вы своими скриптами ходите по двум "граням".
1. Метод document.write () в процессе формирования документа ДОписывает содержимое формирующегося документа.
А после окончания формирования документа использование этого же метода document.write () приводит к полному ПЕРЕписыванию документа.
"Момент окончания формирования документа" - он в разных браузерах в разное мгновение наступает.
2. Скрипты (внешние или блоком), внедрённые в тело документа (точнее сказать - расположенные ВНЕ заголовка документа, ВНЕ тегов <head>...</head>) - они исполняются браузерами не "в обязательном порядке", а "как получится". И "получается" это в разных браузерах - по-разному.
-----
Так что, если хотите реально решить задачу - уходите и от document.write (), и от скриптов вне заголовка.
Если же цель ваша - "помучаться именно с этим", то "мучайтесь" в одиночку :-) | |
|
|
|
|
|
|
|
для: ЯСА
(19.05.2012 в 06:13)
| | Цель - "На ней с помощью одного подключенного js-скрипта (в моем случае m.js) нужно вывести перед элементом с классом eMessage результат скрипта hellobefore.js , а после этого элемента результат helloafter.js". При этом hellobefore.js и helloafter.js у меня нет возможностей редактировать - они даются извне. Т.е. вся магия должна происходить в m.js которым я полностью управляю.
Уйти от document.write () не против - куда именно идти? | |
|
|
|
|
|
|
|
для: kulibko
(19.05.2012 в 10:47)
| | Магия магией, но вот в данном конкретном примере тексты файлов hellobefore.js и helloafter.js вы САМИ (для примера) написали или вам именно такие "дали извне"? | |
|
|
|
|
|
|
|
для: ЯСА
(19.05.2012 в 16:23)
| | Написал для примера. По факту они приходят извне и могут быть практически какие угодно. | |
|
|
|