क्रोम देव उपकरण नेटवर्क थ्रॉटलिंग ऑफ़लाइन अभी भी दिखाता है navigatior.onLine
जैसा सच.
मैं वेब के लिए ऑफ़लाइन अनुभव का परीक्षण करना चाहता हूं। मैं देख रहा हूं कि क्या डिवाइस ऑनलाइन या ऑफलाइन है और अलग-अलग फ़ंक्शन को कॉल करता है (कोई अजाक्स कॉल नहीं करता है)।
मैं अपनी मशीन को डिस्कनेक्ट किए बिना, क्रोम के साथ ऑफ़लाइन व्यवहार कैसे संग्रहीत कर सकता हूं। मुझे अभी भी अन्य सेवाओं के लिए कनेक्शन की आवश्यकता है।
उत्तर:
उत्तर № 1 के लिए 1बस सेटिंग कर रहा हूं navigator.onLine = false
काम नहीं करता है, लेकिन आप पूरी तरह से "onLine" संपत्ति को अधिलेखित कर सकते हैं:
Object.defineProperty(navigator, "onLine", {value: false})
यदि आप इसे बाद में पुनर्स्थापित करना चाहते हैं, तो पुरानी प्रॉपर्टी डिस्क्रिप्टर का संदर्भ रखें:
var oldOnLineDescriptor = Object.getOwnPropertyDescriptor(
navigator.constructor.prototype, "onLine")
// ...
Object.defineProperty(navigator, "onLine", oldOnLineDescriptor)
जवाब के लिए 0 № 2
इसे इस्तेमाल करे।
window.addEventListener("online", onOnline);
window.addEventListener("offline", onOffline);
function onOnline() {
window.isOnline = true;
// do what you want
}
function onOffline() {
window.isOnline=false
// do what you want
}