Как добавить блок <script> после вызвавшего его создание родителя?
Привет!
Есть блок <script> в котором динамически создается еще один блок <script>: <script> (function() { //...blahblah s = d.getElementsByTagName('script')[0]; var g = document.createElement('script'); g.src = 'test.js'; s.parentNode.insertBefore(g, s); })(); </script> У меня в <HEAD> страницы, есть подключенный jQuery и скрипт "test.js" вставляется перед ним. А мне хочется, чтобы он вставлялся после (или перед) вызвавшим его блоком <script>: <script> // Здесь test.js </script> <script> (function() { //...blahblah s = d.getElementsByTagName('script')[0]; var g = document.createElement('script'); g.src = 'test.js'; s.parentNode.insertBefore(g, s); })(); </script> <script> // Или здесь test.js </script> Как это можно сделать? Поиграл с "this", не помогло. |
var head = document.getElementsByTagName('head')[0]; head.appendChild( g ); |
Цитата:
|
Все же интересно, как можно получить объект <script> из которого произошел вызов?
|
никак
|
Понял, спасибо!
|
Цитата:
|
Цитата:
Спасибо! |
Цитата:
var scripts = document.getElementsByTagName('script'). var thisScript = scripts[scripts.length - 1]; // Вот этот объект скрипта, в котором размещены эти строки |
кстати немного странно. а почему this в самом скрипте не указывает на этот элемент скрипта ?
|
Цитата:
|
Цитата:
по мере загрузки страницы ... любой скрипт будет последним что ли? не понимаю |
melky, построение DOM дерева приостанавливается на время загрузки и выполнения скрипта.
|
Цитата:
Сейчас так: s = document.getElementsByTagName('body')[0] || document.getElementsByTagName('script')[document.getElementsByTagName('script').length]; s.appendChild(...); Главное, чтобы в случае отсутствия тега <BODY> на странице, свой тег <SCRIPT>, был записан в конце страницы. |
Цитата:
Теперь необязательно ставить свой блок <script> в конец страницы. |
Цитата:
|
Цитата:
думал, что есть, всё загружено, но ничего не отрисовывается |
ваый,
ну это тока на момент загрузки... а в процессе выполнения уже не прокатит |
Цитата:
|
Часовой пояс GMT +3, время: 03:04. |