Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.01.2020, 10:26
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

Помогите с document.write
Добрый день. Из за плохой wi-fi связи появилась необходимость грузить css и js файлы напрямую клиенту через requireResource

Воспользовался этой статьей:
https://habr.com/ru/post/354630/

у него там есть такие строки:
if (type == "js") {
	document.write('<script id="' + name + '" src="', url, '"><\/script>\n');
  } else if (type == "css") {
	document.write('<link id="' + name + '" rel="stylesheet" href="', url, '" />\n');
  }
var s = document.getElementById(name);


Конкретно проблемы с document.getElementById(name), часто бывает что он null
s = null;

и дальше код своих функции не выполняет. Пробовал ставить setTimepout , но так уже не срабатывает
if (s.readyState == "loaded" || s.readyState == "complete")


Подскажите как после вставки document.write можно было всегда прочитать его как document.getElementById ? ;
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2020, 10:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Artur_Hopf
Пробовал ставить setTimepout , но так уже не срабатывает
Такого метода нет...
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2020, 10:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Artur_Hopf
Подскажите как после вставки document.write можно было всегда прочитать его как document.getElementById ?
Как вариант, вместо
document.write();

Использовать методы
document.createElement();

http://www.fpublisher.ru/documentati...hcreateelement
и
узел.appendChild(newChild);

http://www.fpublisher.ru/documentati...s#happendchild
Тогда можно будет избежать многих проблем...
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2020, 14:17
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

ksa, откуда вы откапываете такие древние статьи, где упоминается ActiveXObject как нечто должное... Это некий культ IE6?

Сообщение от Artur_Hopf
Воспользовался этой статьей:
https://habr.com/ru/post/354630/
Artur_Hopf, это очень плохая идея! Хотя бы потому, что придётся все запросы делать нетрадиционным образом. Очень грязный и неочевидный код. Например, вы не сможете таким образом обработать <img src="pic.jpg">. Картинка будет скачиваться/не скачиваться минуя скрипт. Используйте для этого Cache в ServiceWorker и управляйте всеми запросами из вашего приложения в одном месте! Читайте тут и тут и тут.
Ответить с цитированием
  #5 (permalink)  
Старый 24.01.2020, 07:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Malleys
Это некий культ IE6?
Отнюдь.
Просто по работе собирал ссылки на полезные ресурсы... Сейчас вот раздаю. Если у тебя есть новее и на русском - давай, я обновлю свое старье.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с document.write yura_yushkevich Events/DOM/Window 2 14.03.2015 20:21
помогите реализовать идею меню zedsergei Элементы интерфейса 1 16.01.2014 21:26
document.write +Button9_onclick() помогите чайнику Moniak Общие вопросы Javascript 7 18.12.2011 01:53
onResize IFRAME vah-smile Элементы интерфейса 8 04.11.2009 17:07
Ремонт часов)) SunYang Общие вопросы Javascript 7 07.08.2008 12:18