Как загрузить выбираемый JavaScript в заголовке HTML

Я ищу способ выбрать и загрузить JavaScript из аргументов файла HTML. HTML-файл называется следующим образом:

OSM_Map.html? Year=2017 или OSM_Map.html? Year=2018

В файле OSM_Map.html есть следующий код в заголовке:

<head>
.....
<script language="JavaScript" type="text/javascript" src="LatLonDB_2017.js"></script>
<script language="JavaScript" type="text/javascript" src="LatLonDB_2018.js"></script>
....
</head>

Нет проблем получить аргумент год из списка аргументов, но как я могу загрузить в зависимости от аргумента год только один из этих файлов.js?

2 ответа

Сценарий LatLonDB_xxxx.js по-прежнему не загружается. Я не уверен, почему нет. Вы не можете загрузить файл.js из другого каталога, кроме файла.html? В противном случае загрузка может быть слишком поздней. Скрипты, следующие за скриптом LatLonDB_xxxx.js, используют эту БД.

Исходный код выглядит так:

<html>
<head>
  ...
  <script language="JavaScript" type="text/javascript" src="../DataBases/LatLonDB_20xx.js"></script>
  <script language="JavaScript" type="text/javascript" src="../DataBases/LatLonDB_utils.js"></script>
  <script language="JavaScript" type="text/javascript" ...more scripts using the LatLonDB_20xx.js></script>
  ...
</head>
...
</html>

Намерение состоит в том, чтобы заменить 20xx на правильный год: 2000, 2001 и т. Д. Нет проблем с получением правильного года из параметров запроса.

Как кто-то сказал: "Да, вы можете":

<html>
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/loadjs/3.5.5/loadjs.min.js"></script>
   <script>
      var myparameter = new URL(location.href).searchParams.get("year");
      loadjs( "LatLonDB_" + myparameter +".js" );
    </script>

</head>
<body>
    <h1>Titulo</h1>
</body>
</html>

URL-адрес был что-то вроде: http://test.html/?year=2018

НО! не уверен, что это будет работать в каждом браузере.... "searchParams" не является универсально совместимым.

Благодаря @spencer.sm в этом вопросе Как получить значение из параметров GET?

и, конечно, функция loadJS.

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