Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Вставить выводы разных яваскриптов


Автор: kulibinka 19.5.2012, 21:18
Добрый вечер.

Задача следующая:
Есть страница http://js.sdelajka.com/test_min.html , где-то на ней находится элемент с классом eMessage.
На ней с помощью одного подключенного js-скрипта (в моем случае m.js) нужно вывести перед элементом с классом eMessage результат скрипта hellobefore.js , а после этого элемента результат helloafter.js
При этом hellobefore.js и helloafter.js у меня нет возможностей редактировать - они даются извне. Т.е. вся магия должна происходить в m.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 видно что результат мы не получаем (в фаерфоксе код яваскриптов выводится в самом низу страницы, один за другим - хотя просто текст выводится там где надо. В хроме эти коды вообще не отображаются).

Подскажите пожалуйста как дорешать задачу.

Автор: Aliance 21.5.2012, 09:31
В данной ситуации никак, если только не прибегать к решению через использования (и)фреймов, т.к. document.write, содержащаяся в скриптах hello*.js она полностью заменяет поток документа.

Автор: kulibinka 21.5.2012, 10:18
Насчет "никак" - тут http://javascript.ru/forum/misc/28442-vstavit-vyvody-raznykh-yavaskriptov-pered-i-posle-ehlementa.html эту задачу решили.

Автор: iff 21.5.2012, 14:29
Aliance, 
Цитата(Aliance @  21.5.2012,  09:31 Найти цитируемый пост)
она полностью заменяет поток документа

только если функция вызовется после загрузки документа.

П.С. Другой вариант: изменить document.write так, что-бы она выводила текст в определённый элемент.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)