W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在渲染進(jìn)程中,在線/離線事件 的探測(cè),是通過(guò)標(biāo)準(zhǔn) HTML5 API 中 navigator.onLine
屬性來(lái)實(shí)現(xiàn)的。
navigator.onLine
屬性返回值:
false
?:如果所有網(wǎng)絡(luò)請(qǐng)求都失敗(例如,斷開(kāi)網(wǎng)絡(luò))。true
?: 在其他情況下都返回 true由于許多情況都會(huì)返回 true
,你應(yīng)該小心對(duì)待誤報(bào)的情況, 因?yàn)槲覀儾荒芸偸羌僭O(shè) true
值意味著 Electron 可以訪問(wèn)互聯(lián)網(wǎng)。 例如,當(dāng)計(jì)算機(jī)運(yùn)行的虛擬化軟件時(shí),虛擬以太網(wǎng)適配器處于 "always connected" 狀態(tài)。 因此,如果您想要確定 Electron 的互聯(lián)網(wǎng)訪問(wèn)狀態(tài),您應(yīng)該為此檢查進(jìn)行額外的開(kāi)發(fā)。
從HTML文件 index.html
開(kāi)始,這個(gè)例子會(huì)演示 navigator.onLine
API 是如何被用來(lái)構(gòu)建一個(gè)連接狀態(tài)指示器的。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<h1>Connection status: <strong id='status'></strong></h1>
<script src="renderer.js"></script>
</body>
</html>
為了操作DOM,創(chuàng)建一個(gè) renderer.js
文件,添加事件監(jiān)聽(tīng)器到 'online'
和 'offline'
窗口
中. 事件處理器設(shè)置基于 navigator.onLine
的結(jié)果到 <strong id='status'>
element 的內(nèi)容中。
const updateOnlineStatus = () => {
document.getElementById('status').innerHTML = navigator.onLine ? 'online' : 'offline'
}
window.addEventListener('online', updateOnlineStatus)
window.addEventListener('offline', updateOnlineStatus)
updateOnlineStatus()
最后,創(chuàng)建一個(gè) main.js
文件用來(lái)給主進(jìn)程創(chuàng)建窗口。
const { app, BrowserWindow } = require('electron')
const createWindow = () => {
const onlineStatusWindow = new BrowserWindow({
width: 400,
height: 100
})
onlineStatusWindow.loadFile('index.html')
}
app.whenReady().then(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
啟動(dòng) Electron 應(yīng)用程序后,您應(yīng)該能看到通知:
注意:如果你需要將連接狀態(tài)發(fā)送給主流程,請(qǐng)使用 IPC 渲染器 API。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: