Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.01.2013, 02:28
Новичок на форуме
Отправить личное сообщение для leosert Посмотреть профиль Найти все сообщения от leosert
 
Регистрация: 20.12.2012
Сообщений: 7

Отсрочить загрузку динамически вставленного скрипта
Здравствуйте. Буду очень рад любой релевантной помощи.

Существует страница примерного вида:
<head>
<script src="1.js">
<script src="3.js">
<script src="4.js">
</head>


Я расширением (но это по сути не так важно) вставляю на страницу скрипт
window.addEventListener('DOMContentLoaded', function() {
	var script = document.createElement('script');
	script.src = '2.js';
	document.getElementsByTagName('head')[0].appendChild(script);
});

По логике приложения мне необходимо, чтобы этот скрипт загрузился вторым, но, насколько я понял, в связи с тем, что я его вставляю динамически, браузер сначала инициализирует его, а уже потом начинает грузить 1.js.
Какой есть гениальный и не очень способы это исправить? Как заставить браузер загружать скрипт синхронно после 1.js?

Возможно, надо вставлять свой скрипт другим способом, или заставить сначала загрузить 1.js
Ответить с цитированием
  #2 (permalink)  
Старый 22.01.2013, 02:35
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от leosert
Существует страница примерного вида:
<head>
<script src="1.js">
<script src="3.js">
<script src="4.js">
</head>


Вы контент этих загружаемых скриптов менять можете ?
2. Почему Ваш скрипт не прописать в hider ?
3. Какой тайный смысл загрузки именно после первого ?(что меняется если загрузка после 4 ?

Последний раз редактировалось Deff, 22.01.2013 в 02:37.
Ответить с цитированием
  #3 (permalink)  
Старый 22.01.2013, 02:39
Новичок на форуме
Отправить личное сообщение для leosert Посмотреть профиль Найти все сообщения от leosert
 
Регистрация: 20.12.2012
Сообщений: 7

1. могу менять контент скрипта 2.js
2. прописать не могу. доступа к странице нет. только через расширение динамически вставлять
3. в первом скрипте определение функции, которое используется во втором, например

update: "что меняется если загрузка после 4?" — там хитрая система зависимостей. но если получится загрузить после 4го, то возможно сработает. надо проверять

Последний раз редактировалось leosert, 22.01.2013 в 02:45.
Ответить с цитированием
  #4 (permalink)  
Старый 22.01.2013, 02:50
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от leosert
— там хитрая система зависимостей. но если получится загрузить после 4го, то возможно сработает. надо проверять
Ответить с цитированием
  #5 (permalink)  
Старый 22.01.2013, 03:02
Новичок на форуме
Отправить личное сообщение для leosert Посмотреть профиль Найти все сообщения от leosert
 
Регистрация: 20.12.2012
Сообщений: 7

Проверил. Нужно именно после 1го. Дело в том, что изначальная задача была загрузить свой скрипт, вместо того, что на странице:
<script src="1.js">
<script src="2.js">
<script src="3.js">
<script src="4.js">

т.е. загрузку 2.js я заблочил, а вставить ровно на его место свой не могу.
1. теоретически, я думаю, что можно сначала динамически вставить 1.js, а после него загрузить уже свой 2.js.
2. еще как вариант (но я не знаю, как это реализовать), можно попробовать в файле 2.js по таймеру? дождаться загрузки 1.js, а только после этого скормить браузеру его самого.
3. еще одна безумная идея — попробовать вставить как-то не динамически скрипт, но тут я совсем не имею представления, как это делать.

Искренне надеюсь на помощь

Последний раз редактировалось leosert, 22.01.2013 в 03:05.
Ответить с цитированием
  #6 (permalink)  
Старый 22.01.2013, 03:32
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

leosert,
Дайте ссылку на сайт - гляну что можно сделать

И укажите, после каких тегов на странице, вы вставляете контент своег динамического
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2013, 00:51
Новичок на форуме
Отправить личное сообщение для leosert Посмотреть профиль Найти все сообщения от leosert
 
Регистрация: 20.12.2012
Сообщений: 7

Deff,
спасибо за отклик. Проблема решилась локально, т.е. относительно контента скриптов.

Кстати, расширение грузило скрипт 2.js после domcontentloaded, т.е. самым последним.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реагирование скрипта на загрузку страницы 6o6puk jQuery 2 01.07.2010 17:41