็ฝ็ป็ถๆ โ
่ทๅ็ฝ่ทฏ็ถๆ โ
navigator.onLine
ๅฑๆง
js
if (navigator.onLine) {
console.log("ๅจ็บฟ");
} else {
console.log("็ฆป็บฟ");
}
- ็ๅฌ online ๅ offline ไบไปถ
js
window.addEventListener("online", () => {
console.log("็ฝ็ป่ฟๆฅๅทฒๆขๅค");
});
window.addEventListener("offline", () => {
console.log("็ฝ็ป่ฟๆฅๅทฒๆญๅผ");
});
ๅบๅๅผบ็ฝๅๅผฑ็ฝ็ฏๅข โ
navigator.connection
ๅฏน่ฑก ่ฟๅ ไธไธชNetworkInformation
ๅฏน่ฑก
NetworkInformation
โ
ๅฑๆง
- downlink // ไธ่ฝฝๅธฆๅฎฝไผฐ็ฎๅผ๏ผๅไฝๆฏ Mbps
- effectiveType // ๆๆ่ฟๆฅ็ฑปๅ๏ผๆฏๅฆ'slow-2g', '2g', '3g', '4g'็ญใ
- rtt // Round-Trip Time ๅพ่ฟๅปถ่ฟๆถ้ด๏ผๅไฝๆฏๆฏซ็ง
- saveData // ๅฆๅฏ็จๆฐๆฎ่็ๆจกๅผ
ๆนๆณ
- change
js
if ("connection" in navigator) {
const connection = navigator.connection;
// ่ทๅ่ฟๆฅไฟกๆฏ
console.log("่ฟๆฅ็ฑปๅ:", connection.effectiveType);
console.log("ไธ่ฝฝ้ๅบฆ:", connection.downlink, "Mbps");
console.log("ๅปถ่ฟ:", connection.rtt, "ms");
console.log("็็ตๆจกๅผ:", connection.saveData);
// ๆ นๆฎไธ่ฝฝ้ๅบฆๅคๆญ็ฝ็ป็ฏๅข
if (connection.downlink > 5) {
console.log("ๅผบ็ฝ็ฏๅข");
} else {
console.log("ๅผฑ็ฝ็ฏๅข");
}
// ็ๅฌ็ฝ็ป็ถๆๅๅ
connection.addEventListener("change", () => {
console.log("็ฝ็ป่ฟๆฅไฟกๆฏๅ็ๅๅ");
console.log("ๆๆ็ฑปๅ:", connection.effectiveType);
console.log("ไธ่ฝฝ้ๅบฆ:", connection.downlink, "Mbps");
console.log("ๅปถ่ฟ:", connection.rtt, "ms");
console.log("็็ตๆจกๅผ:", connection.saveData);
});
} else {
console.log("ๆต่งๅจไธๆฏๆ็ฝ็ปไฟกๆฏAPI");
}