Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2020, 00:34
Новичок на форуме
Отправить личное сообщение для alanat Посмотреть профиль Найти все сообщения от alanat
 
Регистрация: 02.07.2016
Сообщений: 6

Как правильно подгрузить js файл через javascript
Добрый день.
Сделал файл test.js:
function mF()
{document.write('Hello');}


И html.
Так работает:
<div id="jsp"><script src="test.js"></script></div>
<script>mF();</script>

А так не работает:
<div id="jsp"></div>
<script>jsp.innerHTML="<script src='test.js'></"+"script>";</script>
<script>mF();</script>

Как правильно подгрузить js файл через javascript, чтобы вывелась надпись Hello?

Заранее благодарен за ответ.
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2020, 00:38
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

У вас две фундаментальные ошибки.
1. innerHTML не исполняет скрипты. Используйте DOM методы для добавления скрипта на страницу.
2. document.write не работает после того как документ уже загружен. Используйте любые иные методы для вывода текста.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2020, 10:12
Новичок на форуме
Отправить личное сообщение для alanat Посмотреть профиль Найти все сообщения от alanat
 
Регистрация: 02.07.2016
Сообщений: 6

"Используйте DOM методы для добавления скрипта на страницу":
правильно ли я понял, что добавлять файл со скриптом необходимо так:
<script>const script = document.createElement('script');
script.src = 'test.js';
document.head.appendChild(script);</script>
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2020, 10:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от alanat
правильно ли я понял,
да, осталось заменить document.write
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2020, 10:38
Новичок на форуме
Отправить личное сообщение для alanat Посмотреть профиль Найти все сообщения от alanat
 
Регистрация: 02.07.2016
Сообщений: 6

Сообщение от рони
осталось заменить document.write
test.js такой:
function mF()
{jsp.innerHTML='Hello';}


а test.html такой:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
</head>
<body>
<script>const script = document.createElement('script');
script.src = 'test.js';
document.head.appendChild(script);</script>
<div id="jsp"></div>
<script>mF();</script>
</body>
</html>


И всё равно не работает.
Ответить с цитированием
  #6 (permalink)  
Старый 27.01.2020, 10:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

alanat,
строку 12 либо перенесите в test.js, либо так
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
</head>
<body>
<script>
function abracadabra()
{
  mF();
}</script>
<script>const script = document.createElement('script');
script.src = 'test.js';
script.onload = abracadabra;
document.head.appendChild(script);</script>
<div id="jsp"></div>

</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 27.01.2020, 11:03
Новичок на форуме
Отправить личное сообщение для alanat Посмотреть профиль Найти все сообщения от alanat
 
Регистрация: 02.07.2016
Сообщений: 6

Сообщение от рони
строку 12 либо перенесите в test.js, либо так
Огромное спасибо за помощь.
Если честно, то уже отчаялся считать мой вопрос решаемым.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить код страницы через js ??? Alex42d Общие вопросы Javascript 1 10.09.2017 06:39
Как вывести через JS данные lmi2002 AJAX и COMET 4 29.05.2017 13:39
Можно ли подгрузить файл со скриптами через код? maxapet Events/DOM/Window 1 14.04.2017 15:17
Как корректно подгрузить резервный файл JS, если с основным проблема? Simba Общие вопросы Javascript 3 28.01.2012 19:20
как отправить файл через XMLHttpRequest как мультипарт KOLANICH Общие вопросы Javascript 17 14.12.2010 19:02