Javascript-форум (https://javascript.ru/forum/)
-   Мобильный JavaScript (https://javascript.ru/forum/mobile/)
-   -   js module на мобильном (https://javascript.ru/forum/mobile/83395-js-module-na-mobilnom.html)

voraa 27.11.2021 12:21

js module на мобильном
 
Опять столкнулся с какой то хренью на мобильниках (Андроид, Crome - последняя версия)
Сейчас переделываю один проект, там требуется менять как можно меньше в html, только почистить (от jquery и по возможности от др. библиотек) и дополнить скрипты.
Стал использовать модули ES6
Было у них
<script src="./kld-js.js"></script>

Переделал на модули, стало
<script type="module" src="./kld-js.js"></script>

Все прекрасно работает на десктопе, в режиме эмуляции мобильника в средствах разработчика... Но не на настоящем мобильнике.
Отлаживаться непосредственно на мобильнике та еще песня, но вставкой в код алертов пришел к выводу, что скрипт не грузится вообще.
Стал действовать методами научного и не научного тыков.
Переименовал файл
<script type="module" src="./kld_js.js"></script>

Все прекрасно работает и на мобильнике.
Переименовываю назад - опять не работает.
Стал думать, может чего у меня в настройках сервера не так (хотя с чего бы - ведь на десктопе то все грузится), обнаружил, что в логах вообще нет обращений к ./kld-js.js, когда запрос идет с мобильника, но есть, когда запрос идет с десктопа.
Опять стал экспериментировать - переименовал так
<script type="module" src="./kld-js.mjs"></script>

Стало работать и на мобильнике.

Интересно то, что
<script type="module" src="./alive-data.js"></script>

грузится нормально - так, что символ "-" тут ни при чем.

Чего то я не понимаю, что происходит.

Aetae 27.11.2021 12:24

nype

voraa 27.11.2021 12:35

Цитата:

Сообщение от Aetae
nype

Ну это я когда пост печатал первый раз ошибся, а потом копипастил с ошибкой.
В коде то все как положено.

voraa 28.11.2021 10:34

Продолжил экперименты
Заменил
<script type="module" src="./kld-js.js"></script>

На
<script type="module">
	try {
        	await import('./kld-js.js')
	} catch (err) {
		alert (err)
	}
</script>


На десктопе все прекрасно, на мобиле получаю алерт

Цитата:

TypeError: Failed to fetch dynamically imported module: http://?????/kld-js.js
И в логах сервера при запросе с мобилы его просто нет. Ни ошибки, ни кода какого - ничего.

Ничего не понимаю :( :(

Aetae 28.11.2021 10:42

Мне лень проверять, но случаем на мобиле у тебя никакого болкировщика рекламы не стоит?

voraa 28.11.2021 10:56

А хрен его знает? Я вроде ничего не ставил.
Рекламы до фига идет
А как там посмотреть?

Ради интереса проверил на Файрфоксе на мобиле.
Все работает

Aetae 28.11.2021 10:59

voraa, а где не работает? В chrome или safari? Это две большие разницы.

voraa 28.11.2021 11:03

В chrome на android

Rise 28.11.2021 11:38

Цитата:

Сообщение от voraa
"./kld-js.js"

Да убери ты ./ из адреса.

voraa 28.11.2021 12:03

Цитата:

Сообщение от Rise
Да убери ты ./ из адреса.

Не...
Так даже десктоп дает ошибку
TypeError: Failed to resolve module specifier \'kld-js.js\'


Часовой пояс GMT +3, время: 17:16.