I've seen a thousand posts where someone is asking how to detect internet connectivity in javascript and there is always one person who says to use navigator.onLine and another that says it is unreliable and only tells you if a connection is available, not if you're connected.
Bottom line, will navigator.onLine tell me if the user is unable to contact there server due to poor coverage even if 3G/4G and WiFi are turned on and they are not in airplane mode or anything? Just your average dead zone.