Я искал Qaru и Google для конкретного сообщения об ошибке в заголовке, но я не нашел его (в контексте кодирования JavaScript, а не настроек браузера). На моем сайте есть пять функций, которые вызывается каждые 10 секунд. Эти функции выполняют такие функции, как:
- Установите флажок "Входящие" для новых сообщений электронной почты
- Проверьте учетную запись пользователя для новых мгновенных сообщений
- и др.
Однако, если пользователь вошел в систему, но НЕАКТИВНО (не использует мышь или не нажимает какие-либо клавиши) в течение примерно 15 минут, появляется следующее сообщение об ошибке, когда я "Проверяю элемент" с Chrome:
Failed to load resource: net::ERR_NETWORK_IO_SUSPENDED // (x 5)
Uncaught Type Error: Cannot read property 'combinedfiletimeinput' of undefined //one of my previously defined form values is now not defined
На этом этапе новый счет электронной почты пользователя, новый счетчик IM и т.д. пустуют (тогда как раньше они были целыми числами). Все, что нужно сделать пользователю, - это обновить страницу или перейти на другую страницу, чтобы повторно подключиться, так что это не огромная сделка.
Мое решение для взлома заключается в использовании таймера JavaScript для автоматического выхода из системы пользователя, если в течение 15 минут не происходит ни одного из следующих событий:
- Щелчок мышью
- Движение мыши
- Нажмите клавишу
Есть ли способ предотвратить появление ошибки "Ошибка загрузки ресурса"?
ОБНОВЛЕНИЕ: Это происходит, когда пользовательское устройство спит/спящий режим, все еще вошедшее в систему... когда пользователь перезагружает устройство. Это когда сообщение об ошибке можно увидеть в Chrome Inspect Element, Firebug и т.д.
UPDATE 10/02/2014: теперь я сконфигурировал пять функций setTimeout в одну большую функцию setTimeout. Кроме того, форма, содержавшая времена модификации во входном имени, называемая "sharedfiletimeinput", была удалена, и теперь я обрабатываю времена изменения файла по-разному.
Вот скриншот из журнала инструментов разработчика Chrome, в котором показана ошибка. Я добавил "mysite" вместо имени моего сайта и "filename" вместо фактического имени файла. Я также удалил имя внешнего файла JavaScript, и все, что осталось, это .js(извините, но я просто стараюсь быть осторожным:)) Я отключил некоторые снимки экрана, поэтому текст будет достаточно большим читать.
Как вы можете видеть на скриншоте, запрос обрабатывает ОК для первых трех запросов. Затем я "спал" на своем устройстве, а затем снова включил устройство. То, что следующие два запроса являются ошибками (красным). После этих первых двух ошибок запросы начинают нормально обрабатываться (строки с черным текстом, после строк с красным текстом). На консоли четко отображается сообщение об ошибке.