Измените скрипт «src» по параметру URL и сделайте его функциональным

Я думаю, можно ли это сделать на статическом сайте,
у меня есть ссылка на

https://www.example.com?year=2022&week=05

и основной HTML

<h4 style = "color:#FFD700"><strong>TITLE</strong><br></h1>
                        <h3 id = "1testing"></h3>
                        <h6 id = "2testing"></h6>

// skipped

<script id = "results" src = "path/to/script/202205.txt"></script>

Теперь я хочу обновить его в соответствии с параметром URL, у меня есть параметр URL (и обновить код выше) с помощью

const queryString = window.location.search;
                console.info(queryString);
                const urlParams = new URLSearchParams(queryString);
                const yrs = urlParams.get('year')
                const wks = urlParams.get('week')
                console.info(yrs);
                console.info(wks);
                document.getElementById('results').src = "path/to/script/" + yrs + "/" + wks + ".txt"

Текстовые файлы имеют формат

document.getElementById("date").innerHTML =// date
"date";
            
// Number 1
document.getElementById("1testing").innerHTML =// 1testing
"1testing";
document.getElementById("2testing").innerHTML =// 2testing
"2testing";

//so on...

Однако проблема, с которой я столкнулся, заключается в том, что тег src обновляется ПОСЛЕ загрузки, а содержимое просто не обновляется, возможно, из-за того, что скрипты не в порядке, однако у меня мало знаний об этом, любой может помочь с решение по этому поводу?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
25
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, вам следует удалить тег script и повторно добавить обновленный.

  let oldScriptTag = document.getElementById('results');

  let newScriptTag = document.createElement('script');
  newScriptTag.id = 'results';
  newScriptTag.src = 'path/to/script/' + yrs + '/' + wks + '.js';
  newScriptTag.textContent = '//script';

  var body = document.getElementsByTagName('body')[0];

  oldScriptTag.remove();

  body.appendChild(newScriptTag);

Исходный файл для тега script должен быть файлом js, .txt не выполняется. Кроме того, при наличии атрибута src содержимое тега script игнорируется, установка textContent тега не требуется.

Teemu 22.03.2022 14:00

Другие вопросы по теме