国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

使用 Electron 處理窗體崩潰和掛起

Kyxy / 2864人閱讀

摘要:使用處理窗體崩潰和掛起此系列文章的應(yīng)用示例已發(fā)布于可以或下載后運(yùn)行查看歡迎模塊將在渲染器進(jìn)程崩潰或掛起時(shí)發(fā)出事件您可以監(jiān)聽(tīng)這些事件并給用戶(hù)重新加載等待或關(guān)閉該窗口的機(jī)會(huì)在瀏覽器中打開(kāi)完整的文檔進(jìn)程崩潰后重載窗體支持進(jìn)程在這個(gè)示例中我們

使用 Electron 處理窗體崩潰和掛起

此系列文章的應(yīng)用示例已發(fā)布于 GitHub: electron-api-demos-Zh_CN. 可以 Clone 或下載后運(yùn)行查看. 歡迎 Star .

BrowserWindow 模塊將在渲染器進(jìn)程崩潰或掛起時(shí)發(fā)出事件. 您可以監(jiān)聽(tīng)這些事件, 并給用戶(hù)重新加載, 等待或關(guān)閉該窗口的機(jī)會(huì).

在瀏覽器中打開(kāi) 完整的 API 文檔 .

進(jìn)程崩潰后重載窗體

支持: Win, macOS, Linux | 進(jìn)程: Main

在這個(gè)示例中我們創(chuàng)建一個(gè)新窗口 (通過(guò) remote 模塊) 并提供了一個(gè)使用 process.crash() 方法強(qiáng)制崩潰的鏈接.

當(dāng)前窗體正在監(jiān)聽(tīng)崩潰事件, 當(dāng)此事件發(fā)生時(shí), 它提供用戶(hù)兩個(gè)選項(xiàng): 重新加載或關(guān)閉.

渲染器進(jìn)程

const BrowserWindow = require("electron").remote.BrowserWindow
const dialog = require("electron").remote.dialog

const path = require("path")

const processCrashBtn = document.getElementById("process-crash")

processCrashBtn.addEventListener("click", function (event) {
  const crashWinPath = path.join("file://", __dirname, "../../sections/windows/process-crash.html")
  let win = new BrowserWindow({ width: 400, height: 320 })

  win.webContents.on("crashed", function () {
    const options = {
      type: "info",
      title: "渲染器進(jìn)程崩潰",
      message: "這個(gè)進(jìn)程已經(jīng)崩潰.",
      buttons: ["重載", "關(guān)閉"]
    }
    dialog.showMessageBox(options, function (index) {
      if (index === 0) win.reload()
      else win.close()
    })
  })

  win.on("close", function () { win = null })
  win.loadURL(crashWinPath)
  win.show()
})
進(jìn)程掛起后重載窗體

支持: Win, macOS, Linux | 進(jìn)程: Main

在這個(gè)示例中我們創(chuàng)建一個(gè)新窗口 (通過(guò) remote 模塊) 并提供了一個(gè)使用 process.hang() 方法強(qiáng)制掛起進(jìn)程的鏈接.

當(dāng)前窗體正在監(jiān)聽(tīng)進(jìn)程是否真正無(wú)響應(yīng) (這可能需要長(zhǎng)達(dá)30秒). 當(dāng)此事件發(fā)生時(shí), 它提供用戶(hù)兩個(gè)選項(xiàng): 重新加載或關(guān)閉.

渲染器進(jìn)程

const BrowserWindow = require("electron").remote.BrowserWindow
const dialog = require("electron").remote.dialog

const path = require("path")

const processHangBtn = document.getElementById("process-hang")

processHangBtn.addEventListener("click", function (event) {
  const hangWinPath = path.join("file://", __dirname, "../../sections/windows/process-hang.html")
  let win = new BrowserWindow({ width: 400, height: 320 })

  win.on("unresponsive", function () {
    const options = {
      type: "info",
      title: "渲染器進(jìn)程掛起",
      message: "這個(gè)進(jìn)程已經(jīng)被掛起.",
      buttons: ["重載", "關(guān)閉"]
    }
    dialog.showMessageBox(options, function (index) {
      if (index === 0) win.reload()
      else win.close()
    })
  })

  win.on("close", function () { win = null })
  win.loadURL(hangWinPath)
  win.show()
})
高級(jí)技巧

等待進(jìn)程再次響應(yīng).

在進(jìn)程掛起的的情況下, 第三個(gè)選擇是等待并查看問(wèn)題是否解決, 允許進(jìn)程再次響應(yīng). 為此, 請(qǐng)使用 BrowserWindow 的 "responsive" 事件, 如下所示:

win.on("responsive", function () {
  // 當(dāng)窗口再次響應(yīng)時(shí)做些什么
})

如果這邊文章對(duì)您有幫助, 感謝 下方點(diǎn)贊 或 Star GitHub: electron-api-demos-Zh_CN 支持, 謝謝.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/81700.html

相關(guān)文章

  • electron程序保護(hù)措施(崩潰監(jiān)控,開(kāi)機(jī)自啟,托盤(pán)關(guān)閉)

    摘要:當(dāng)設(shè)置了參數(shù)時(shí),將作為命令行參數(shù)傳遞。托盤(pán)關(guān)閉向和微信一樣,有的時(shí)候我們并不想讓用戶(hù)通過(guò)點(diǎn)關(guān)閉按鈕的時(shí)候就關(guān)閉程序,而是把程序最小化到托盤(pán),在托盤(pán)上做真正的退出操作。首先要監(jiān)聽(tīng)窗口的關(guān)閉事件,阻止用戶(hù)關(guān)閉操作的默認(rèn)行為。 showImg(https://segmentfault.com/img/remote/1460000016933565?w=960&h=640); 在某種情況下,我...

    2i18ns 評(píng)論0 收藏0
  • 使用webpack + electron + reactJs開(kāi)發(fā)windows桌面應(yīng)用

    摘要:在開(kāi)發(fā)項(xiàng)目時(shí),可以先用網(wǎng)頁(yè)的形式開(kāi)發(fā)項(xiàng)目,等到網(wǎng)頁(yè)項(xiàng)目部分差不多完成后,再注入中,開(kāi)發(fā)網(wǎng)頁(yè)項(xiàng)目部分和窗體部分的交互在中使用后,將不會(huì)打包有關(guān)的代碼 electron是一兩年前挺火的一個(gè)框架本質(zhì)上是一個(gè)瀏覽器,但是集成了很多windows系統(tǒng)的功能,讓前端開(kāi)發(fā)也可以直接操作windows的窗體,做成一個(gè)實(shí)打?qū)嵉淖烂孳浖?團(tuán)隊(duì)主要的技術(shù)棧是react,所以考慮用react開(kāi)發(fā),方便維護(hù)。 ...

    khlbat 評(píng)論0 收藏0
  • 使用 Electron 創(chuàng)建和管理窗體

    摘要:使用創(chuàng)建和管理窗體此系列文章的應(yīng)用示例已發(fā)布于可以或下載后運(yùn)行查看歡迎中的模塊允許您創(chuàng)建新的瀏覽器窗口或管理現(xiàn)有的瀏覽器窗口每個(gè)瀏覽器窗口都是一個(gè)單獨(dú)的進(jìn)程稱(chēng)為渲染器進(jìn)程這個(gè)進(jìn)程像控制應(yīng)用程序生命周期的主進(jìn)程一樣,可以完全訪問(wèn)查看完整 使用 Electron 創(chuàng)建和管理窗體 此系列文章的應(yīng)用示例已發(fā)布于 GitHub: electron-api-demos-Zh_CN. 可以 Clon...

    Brenner 評(píng)論0 收藏0
  • electron+vue制作桌面應(yīng)用--自定義標(biāo)題欄

    摘要:會(huì)默認(rèn)顯示邊框和標(biāo)題欄,如下圖我們來(lái)看一下如何自定義一個(gè)更加有意思的標(biāo)題欄,例如網(wǎng)易云音樂(lè)這種首先我們要把默認(rèn)的標(biāo)題欄刪掉,找到主進(jìn)程中創(chuàng)建窗體部分,時(shí)添加參數(shù)即可這樣會(huì)把標(biāo)題欄和邊框一并隱藏然后我們開(kāi)始制作自己的標(biāo)題欄創(chuàng)建組件這里 electron會(huì)默認(rèn)顯示邊框和標(biāo)題欄,如下圖 showImg(https://segmentfault.com/img/bVXwA5?w=412&h=6...

    roundstones 評(píng)論0 收藏0
  • electron+vue制作桌面應(yīng)用--自定義標(biāo)題欄

    摘要:會(huì)默認(rèn)顯示邊框和標(biāo)題欄,如下圖我們來(lái)看一下如何自定義一個(gè)更加有意思的標(biāo)題欄,例如網(wǎng)易云音樂(lè)這種首先我們要把默認(rèn)的標(biāo)題欄刪掉,找到主進(jìn)程中創(chuàng)建窗體部分,時(shí)添加參數(shù)即可這樣會(huì)把標(biāo)題欄和邊框一并隱藏然后我們開(kāi)始制作自己的標(biāo)題欄創(chuàng)建組件這里 electron會(huì)默認(rèn)顯示邊框和標(biāo)題欄,如下圖 showImg(https://segmentfault.com/img/bVXwA5?w=412&h=6...

    用戶(hù)83 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<