Свойство navigator.online
обычно не очень полезно - в браузере настольного компьютера все, что он делает, это подключается к меню File -> Work Offline.Это может быть более полезным на iPad, я не знаю, потому что у меня его нет, и я предполагаю, что нет меню Файл, но я бы порекомендовал вам проверить.
Общий подход кэта проблема заключается в настройке двух легко различимых файлов в резервном разделе вашего манифеста.Каждый раз, когда вы хотите подключиться к серверу, попытайтесь получить файл с помощью AJAX и, в обратном вызове, проверьте его, чтобы увидеть, есть ли у вас онлайн-файл или запасной вариант, затем выполните ветвление соответствующим образом.