Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
Заблокирован

Один из скриптов не успевает загрузиться

06.02.2016, 15:44. Показов 4799. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
var d = document.getElementsByTagName('head')[0], s = document.createElement('script'), f = document.createElement('script'), m = document.createElement('script');
s.src   = 'http://test2.ru/1.js',
f.src   = 'http://test2.ru/2.js',
m.src   = 'http://test2.ru/3.js';
d.appendChild(s),        
d.appendChild(f);           
d.appendChild(m);
Ситуация следующая, необходимо сначала прочесть скрипт 1, затем второй и третий. Выстроены по порядку, все верно... Но получается так. что 3 скрипт браузер прочитал быстрее. Из-за этого некоторые функции не работают...

Что делать?

Добавлено через 11 минут
Третий
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.02.2016, 15:44
Ответы с готовыми решениями:

Слияние трёх скриптов в один
Есть три таблицы: READERS(информация о читателях) c полями RDR_ID(номер читателя),Code(отделение, дневное/заочное),Name(ФИО),...

С двух скриптов получить один.
Здраствуйет надеюсь здесь мне помогут мне необходимо два скрипта 1) скрипт денамически держит в углу сылку и картинку и как бы я...

Как несколько скриптов объединить в один
Такой вопрос: есть несколько скриптов: <script type="text/javascript"> var htmlText = document.getElementById('htmlText'); var txt =...

6
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
06.02.2016, 17:14
Gerd199, А если как-нибудь так попробовать сделать?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
var d = document.getElementsByTagName('head')[0], s = document.createElement('script'), f = document.createElement('script'), m = document.createElement('script');
s.src   = 'http://test2.ru/1.js',
d.appendChild(s),        
s.onload=function() {
    f.src   = 'http://test2.ru/2.js',
    d.appendChild(f);           
    f.onload=function() {
        m.src   = 'http://test2.ru/3.js';
        d.appendChild(m);
    };
};
1
23 / 23 / 11
Регистрация: 28.02.2015
Сообщений: 61
06.02.2016, 17:20
А как ты определил, что третий скрипт браузер прочитал быстрее? Если ты не указываешь атрибут async скриптам, то браузер их всех прочитает синхронно(по порядку). И где у тебя в документе находится скрипт, который ты тут выложил? Подозреваю, что что-то у тебя может не работать из-за того, что DOM еще не построился и обращаешься к несуществующим элементам.

Добавлено через 2 минуты
Цитата Сообщение от alexsamos33 Посмотреть сообщение
А если как-нибудь так попробовать сделать?
По идее браузеры так и обрабатывают друг за другом идущие скрипты)
1
Заблокирован
06.02.2016, 17:30  [ТС]
Блин, работает) Единственное по времени дольше.

А вот так
<script type='text/javascript' src='http://test2.ru/3.js' charset='UTF-8' ></script>

и в js в самое начало

JavaScript
1
2
3
4
5
6
7
8
9
10
var d = document.getElementsByTagName('head')[0], s = document.createElement('script'), f = document.createElement('script'), m = document.createElement('script');
s.src   = 'http://test2.ru/js/prototype.js',
d.appendChild(s),        
s.onload=function() {
    f.src   = 'http://test2.ru/2.js',
    d.appendChild(f);           
    f.onload=function() {
       // тут код 3 скрипта
    };
};

Тоже не хочет работать, а хотелось в самое начало 3 скрипта вставить. Дабы в html лишнее не писать.

Добавлено через 1 минуту
Имеются ли варианты которые по времени работы гораздо быстрее работает? Скажем прямо в js файле подгрузить локально код другого js. Возможно ли такое в js, или только через php, гет запросом? Так бы тоже не хотелось, лишний раз свой сервер напрягать...
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
06.02.2016, 17:48
JavaScript
1
2
3
4
5
6
7
8
9
window.onload = function() {
    var d = document.getElementsByTagName('head')[0], s = document.createElement('script'), f = document.createElement('script'), m = document.createElement('script');
    s.src   = 'http://test2.ru/1.js',
    f.src   = 'http://test2.ru/2.js',
    m.src   = 'http://test2.ru/3.js';
    d.appendChild(s),        
    d.appendChild(f);           
    d.appendChild(m);
};
1
 Аватар для smart-drone
22 / 18 / 14
Регистрация: 07.01.2016
Сообщений: 70
06.02.2016, 17:58
Gerd199, Для скриптов есть события onload, onreadystatechange и атрибут defer. Но лучшее решение, на мой взгляд, это использование фреймворка require
1
Заблокирован
06.02.2016, 18:24  [ТС]
smart-drone , там что та про php говорится. Не подкинешь наглядный пример, с php мне не нужно связываться. К тому крипт будет подгружен с сторонних сайтов, не локально.

Добавлено через 20 минут
Хотя, третий js скрипт генерирую в php. Пофигу, там их и подгружу. Всяко лучше чем 2 лишних запроса пользователю делать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.02.2016, 18:24
Помогаю со студенческими работами здесь

Как можно объединить несколько скриптов в один?
Всем привет! хотел-бы узнать как можно объеденить несколько скриптов в один ? Допустим у меня есть 3 скрипта на разные темы к примеру 1ый...

Не успевает скопироваться файл?
Во время обработки рекордсета вызываю SUB где копирую по сети с помощью FSO файлы и папки (по данным из рекордсета), код примерно такой: ...

Если таймер не успевает?
А что происходит, если процедура, которая должна выполняться в OnTimer таймера, выполняется дольше, чем Interval, и следующая процедура...

Не успевает прорисовать ProgressBar
Имеется код: private void button1_Click(object sender, EventArgs e) { Func&lt;int, int&gt; func = Sleep; ...

Не успевает отрисоваться панель
Здравствуйте. На форме есть кнопка по нажатии на которую происходит запуск очень многих потоков, подключения к БД, множественные выводы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru