Muranx
@Muranx
кто понял this тот в цирке не смеётся

Как в данном случае лучше организовать подключение скриптов?

Здравствуйте!

У меня есть две html странички, первая (утрированно, не вдаваясь в детали) содержит следующий контент :

<a href="some/dirrectory/file.html?fileName:filename1">Ссылка 1</a>
<a href="some/dirrectory/file.html?fileName:filename2">Ссылка 2</a>
<a href="some/dirrectory/file.html?fileName:filename3">Ссылка 3</a>
...

Т.е. есть ссылки, которые ведут на одну страницу, под названием file.html (тоже хтмл страничка), Но различие в том, с какими параметрами она передаётся, в данном случае параметр это название javascript файла (об этом далее) . . . Собственно при клике на ссыль, мы перемещаемся на страничку file.html,она утрированно имеет следующий вид :

<html>
<head>
</head>
<body>
<!--..... html content -->
<scirpt src="URL_PARSER.js">

<scirpt src="scriptWhichShouldExecuted1.js">
<scirpt src="scriptWhichShouldExecuted2.js">

</body>
<html>


файл URL_PARSER.js содержит класс, который всего лишь парсит урл, и вытягивает параметры! Задача в следующем , у меня есть куча сторонних файлов с JSON объектами, который после распарсивания урла нужно подключать к этой ( второй страничке в тэг head ) Но проблема заключается в том, что контент на этой страничке формируется динамически, кокраз с помощью действия файлов scriptWhichShouldExecuted1.js и соотвественно scriptWhichShouldExecuted2.js, чисто для пояснения, файлы которые я хочу подключить имеют примерно след. формат const globalObject = { . . . } ; Т.е. файлам scriptWhichShouldExecuted2.js, и . . . нужен доступ к этому объекту, НО т.к. он подключается уже после загрузки этих скриптов, возникают ошибки, я сделал костыль, а именно, исполнение скрипта в этих двух файлах через setTimeout( ( ) => {}, 40 ) ; Но это не выход, хотя он и рабочий, подскажите пожалуйста, как можно это грамотно реализовать, а то не хочется оставлять данную схему со встроенным в неё костылём ! И да, приложение данное полностью офлайновое, оно исключительно локально!
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
@WebEagle
Считаем что у вас есть уже распарсеный параметр filename, и он содержит ссылку на файл.
Просто передайте его в эту функцию, либо по алгоритму. Вот функция
function loadScript(filepath) {
  var b = document.getElementsByTagName('body')[0];
  var s = document.createElement('script');
  s.setAttribute('src', filepath);
  s.setAttribute('async', 'async');
  b.append(s);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы