Судя по вашему описанию, у вас возникли проблемы с динамической загрузкой JavaScript модулей при клике на элементы карты. Вы загружаете JavaScript файлы, связанные с конкретными комнатами, но, возможно, сталкиваетесь с одной из следующих проблем:
### 1. Ошибка загрузки файла
Убедитесь, что файлы `101.js`, `102.js` и так далее действительно существуют по указанному пути (`/static/js/`). Проверьте консоль браузера для выявления ошибок загрузки.
### 2. Проблемы с модульной системой
Если ваши JavaScript файлы являются ES модулями (например, они используют `import` и `export`), то их нужно загружать немного иначе. Для этого вам нужно будет использовать `type="module"` при создании тега `<script>`.
Пример:
```javascript
if (roomId && scriptFile) {
const script = document.createElement('script');
script.id = 'dynamic-script'; // Присваиваем ID для удобного удаления
script.src = "/static/js/" + scriptFile; // Используем data-script для определения файла
script.type = 'module'; // Обратите внимание на этот атрибут
document.body.appendChild(script);
}
```
### 3. Порядок выполнения скриптов
Если ваши скрипты зависят от других библиотек или модулей, убедитесь, что они загружаются в правильном порядке. Иногда ошибки могут возникать при попытке обращения к переменным или функциям, которые еще не инициализированы.
### 4. Контексты выполнения скрипта
Имейте в виду, что скрипты, загруженные динамически, будут выполняться отдельно от контекста, в котором был загружен основной скрипт. Если ваши загружаемые скрипты полагаются на определенные глобальные переменные, их нужно передавать другим образом.
### 5. Конфликт в id скрипта
Убедитесь, что при загрузке нового скрипта предыдущий скрипт должным образом удаляется, чтобы избежать конфликтов. В вашем коде это реализовано, но убедитесь, что удаление срабатывает корректно.
### Рекомендации
- Проверьте негативные результаты в консоли разработчика, возможно, они помогут в диагностике.
- Убедитесь, что ваш сервер Flask настроен на корректное обслуживание статических файлов.
- Если вы используете какие-либо библиотеки или фреймворки, удостоверьтесь, что они совместимы с загружаемыми скриптами.
Попробуйте внести предложенные изменения и посмотрите, решат ли они вашу проблему.