#javascript #html #css #offline #docsify
#javascript #HTML #css #Не в сети #docsify
Вопрос:
Мне было интересно, есть ли лучший способ обслуживать пользователя с локально размещенными ресурсами, если обнаружено, что они находятся в автономном режиме.
На самом деле они не были бы в автономном режиме, но из-за корпоративных прокси иногда ссылки на сайты блокируются или просто запрещаются.
У меня есть около 10 ресурсов, доставленных через CDN, но, похоже, плохая практика писать это так:
<script>
var isOnline = window.navigator.onLine;
if( isOnline ) {
document.write('<script src="http://cdn.site.ltd/file1.js"></script>');
document.write('<script src="http://cdn.site.ltd/file2.js"></script>');
document.write('<script src="http://cdn.site.ltd/file3.js"></script>');
document.write('<link href="http://cdn.site.ltd/file.css"></link>');
} else {
document.write('<script src="../file1.js"></script>');
document.write('<script src="../file2.js"></script>');
document.write('<script src="../file3.js"></script>');
document.write('<link href="../file.css"></link>');
}
</script>
Я имею в виду, что, кроме того, что у пользователя отключен Javascript (не по умолчанию), это неправильный способ сделать это?
Я также нашел это, но я не знаю, является ли это излишним для ситуации или нет?
Комментарии:
1. Почему вы используете echo?
2. @epascarello языковая путаница!
document.write
это то, что я имел в виду — я отредактирую его3. если файлы существуют на локальном сервере, и локальный сервер всегда может быть доступен, но иногда cdn не может быть. Почему бы просто не всегда использовать локальный сервер и забыть о cdn?
4. @CodyPace ссылки cdn будут последней версией, но локальная версия будет последней сохраненной. это возможно, но я надеялся на баланс или запасной вариант
5. @charlietfl потому что он будет обслуживать файл в локальной сети, а не в Интернете
Ответ №1:
Это был бы идеальный вариант использования для ServiceWorker, не так ли?
Комментарии:
1. Это плохой ответ или просто спам?