Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.08.2011, 12:45
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от PeaceCoder
кстати немного странно. а почему this в самом скрипте не указывает на этот элемент скрипта ?
Потому что this должен указывать на глобальный объект. Script - всего лишь рядовой DOM элемент, не привилегированный, с какой стати на него указывать.
Ответить с цитированием
  #12 (permalink)  
Старый 25.08.2011, 12:49
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от ваый Посмотреть сообщение
Элементарно.
var scripts = document.getElementsByTagName('script').
var thisScript = scripts[scripts.length - 1]; // Вот этот объект скрипта, в котором размещены эти строки
почему вы думаете. что текущий скрипт - последний ?

по мере загрузки страницы ... любой скрипт будет последним что ли?

не понимаю
Ответить с цитированием
  #13 (permalink)  
Старый 25.08.2011, 12:51
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

melky, построение DOM дерева приостанавливается на время загрузки и выполнения скрипта.
Ответить с цитированием
  #14 (permalink)  
Старый 25.08.2011, 12:54
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Сообщение от ваый Посмотреть сообщение
Элементарно.
var scripts = document.getElementsByTagName('script').
var thisScript = scripts[scripts.length - 1]; // Вот этот объект скрипта, в котором размещены эти строки
Ну я примерно и пришел к такому варианту.
Сейчас так:
s = document.getElementsByTagName('body')[0] || document.getElementsByTagName('script')[document.getElementsByTagName('script').length];
s.appendChild(...);


Главное, чтобы в случае отсутствия тега <BODY> на странице, свой тег <SCRIPT>, был записан в конце страницы.
Ответить с цитированием
  #15 (permalink)  
Старый 25.08.2011, 13:01
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Сообщение от B@rmaley.e><e Посмотреть сообщение
melky, построение DOM дерева приостанавливается на время загрузки и выполнения скрипта.
Интересно!
Теперь необязательно ставить свой блок <script> в конец страницы.
Ответить с цитированием
  #16 (permalink)  
Старый 25.08.2011, 13:07
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от melky
почему вы думаете. что текущий скрипт - последний ?

по мере загрузки страницы ... любой скрипт будет последним что ли?

не понимаю
Именно. Код, который внутри тэга скрипт при загрузке тотчас же выполняется. Это значит, что на момент выполнения кода внутри script, текущий тэг script гарантированно последний. На этом и основан этот прием.
Ответить с цитированием
  #17 (permalink)  
Старый 25.08.2011, 14:07
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от B@rmaley.e><e Посмотреть сообщение
melky, построение DOM дерева приостанавливается на время загрузки и выполнения скрипта.
знал, что приостанавливается, но не знал, что к моменту исполнения скрипта дальше этого скрипта ничего нет.

думал, что есть, всё загружено, но ничего не отрисовывается
Ответить с цитированием
  #18 (permalink)  
Старый 25.08.2011, 17:38
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ваый,
ну это тока на момент загрузки... а в процессе выполнения уже не прокатит
Ответить с цитированием
  #19 (permalink)  
Старый 25.08.2011, 18:05
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от devote
ну это тока на момент загрузки... а в процессе выполнения уже не прокатит
Разумеется. Но мы может присвоить этот объект script переменной (в момент загрузки), которая будет указывать на него и после загрузки страницы.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как добавить текст после элемента? AquaGen jQuery 9 23.08.2011 16:21
Как получить размер блока сразу после изменения его содержимого? Cooskon Events/DOM/Window 6 17.09.2010 16:15
как обратиться к childNode по его id в div-е, через id родителя kichSman Events/DOM/Window 5 28.10.2009 02:16