@Farak1 zabil platnie otpechatki kupit
a po delu
ef9c6dc3-1bff-476d-aebb-8b14a9817902-image.png
esli telo IF'a pustoe on vidaet false
Не возвращает свойство navigarot.onLine
-
Есть такой метод
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLineдля проверки используется:
if (navigator.onLine) { console.log('online'); } else { console.log('offline'); }В консоли обычного хрома отрабатывает корректно:
с включенным интернетом:
с выключенным интернетом:

в басе:

сделал тестовый скрипт, первый вариант без прокси, второй с несуществующим прокски (имитация обрыва связи).
В обоих случаях почему то возвращает true
-
@Bigma said in Не возвращает свойство navigarot.onLine:
с несуществующим прокски (имитация обрыва связи)
В реальном Chrome точно так же:


В консоли обычного хрома отрабатывает корректно
В BAS тоже корректно работает:


-
А ты инет полностью отрубал так ?
Я в басе несуществующий прокси подсовывал, и думал он на него ориентироваться будет. -
-
@sir-ydroidrrr спасибо что перепроверил,
видимо прокси ему побую, он видимо и так сеть видит. -
@Fox вот скажи как профессионал - считать это багом или нет ?
Ситуация такая скрипт метрики проверяет это свойство навигатора, и в зависимости от того что оно отдает определяет дальше сценарий.
Бас фактически всегда отдает его true, хотя по идее должен ориентировать на доступность сети через прокси.
-
@Bigma said in Не возвращает свойство navigarot.onLine:
@Fox вот скажи как профессионал - считать это багом или нет ?
Ситуация такая скрипт метрики проверяет это свойство навигатора, и в зависимости от того что оно отдает определяет дальше сценарий.
Бас фактически всегда отдает его true, хотя по идее должен ориентировать на доступность сети через прокси.
В Chrome и Safari, если браузер не может подключиться к локальной сети (LAN) или маршрутизатору, он отключен; все остальные условия возвращают
true. Таким образом, хотя вы можете предположить, что браузер находится в автономном режиме, когда он возвращаетfalseзначение, вы не можете предполагать, что истинное значение обязательно означает, что браузер может получить доступ к Интернету. -
@Fox Суть то в том, что счетчик яндекс метрики утыкан этими перепроверками.
И мы можем не можем, а они проверяют и ориентируются.Я подробно логику не смотрел, да и у них там сложно, так как полная обфускация, но предполагаю такую логику: если сеть доступна шлем запросы, А она у нас типо всегда доступна - поэтому часть запросов может просто потеряться по дороге.
-
@Bigma said in Не возвращает свойство navigarot.onLine:
предпологаю такую логику если сеть доступна шлем запросы, А она у нас типо всегда доступна - поэтому часть запросов может просто потеряться по дороге.
Ещё раз, вдумчиво перечитайте моё сообщение выше. Реальный браузер возвращает
falseтолько когда не может подключиться к локальной сети или маршрутизатору -
@Fox ну они там все же под LAN имеют ввиду адаптер интернет.
Там дальше написано:
Вы можете получать ложные срабатывания, например, в тех случаях, когда на компьютере запущено программное обеспечение виртуализации, имеющее виртуальные адаптеры Ethernet, которые всегда «подключены».И дальше они приводят ссылку на статью - что это распространенная практика определения статуса сети:
https://www.html5rocks.com/en/mobile/workingoffthegrid/ -
@Bigma said in Не возвращает свойство navigarot.onLine:
@Fox ну они там все же под LAN имеют ввиду адаптер интернет.
Там дальше написано:
Вы можете получать ложные срабатывания, например, в тех случаях, когда на компьютере запущено программное обеспечение виртуализации, имеющее виртуальные адаптеры Ethernet, которые всегда «подключены».И дальше они приводят ссылку на статью - это распространненая практика определения статуса сети:
https://www.html5rocks.com/en/mobile/workingoffthegrid/Я всё равно не понимаю чего именно вы хотите. Попробуйте выполнить все ваши проверки на Chromium, если работа в нём будет такой же как в BAS, значит это не баг
-
@Fox В хромиуме нету прокси, тем более нету такого как он встроен в бас.
Чего я хочу ? ну в идеали, если прокси не имеет доступ в сеть, то, чтоб это значение менялось, ну соответственно наоборот, как появилась сеть в прокси, возвращалось в true.
Но понятно что с этим надо переспать.
-
@Fox решение этой задачи на уровне бас, на мой взгляд бы позволило и решать вопросы с кучей разных сообщений при недоступности прокси.
Сейчас несколько функций написано, перепроверяющих загрузилась ли страница и что делать если нет.
При стабильном инете нет проблем, коню понятно. Часто используют либо со сменой айпи мобильные, либо резидентские, которые сами по себе отваливаются.
Я понимаю, что решение не простое, но думаю стоит об этом подумать всем.
Может что и получится.
-
This post is deleted!
-
This post is deleted!
-
This post is deleted!
-
This post is deleted!