navigator.onLine все еще возвращает true, когда я выключаю Wi-Fi (Аэропорт на моем ноутбуке в OS X). Это - парадоксальное поведение. Но когда я установил "работу офлайн" в браузере как Firefox, она правильно возвращает false. Это ожидается?
alert(navigator.onLine ? "online" : "offline");
Да. Браузер не предоставляет странице информацию о сетевом подключении, а использует статус автономной работы в качестве значения.