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

資訊專欄INFORMATION COLUMN

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

Kyxy / 2848人閱讀

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

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

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

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

在瀏覽器中打開 完整的 API 文檔 .

進程崩潰后重載窗體

支持: Win, macOS, Linux | 進程: Main

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

當前窗體正在監(jiān)聽崩潰事件, 當此事件發(fā)生時, 它提供用戶兩個選項: 重新加載或關閉.

渲染器進程

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: "渲染器進程崩潰",
      message: "這個進程已經(jīng)崩潰.",
      buttons: ["重載", "關閉"]
    }
    dialog.showMessageBox(options, function (index) {
      if (index === 0) win.reload()
      else win.close()
    })
  })

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

支持: Win, macOS, Linux | 進程: Main

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

當前窗體正在監(jiān)聽進程是否真正無響應 (這可能需要長達30秒). 當此事件發(fā)生時, 它提供用戶兩個選項: 重新加載或關閉.

渲染器進程

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: "渲染器進程掛起",
      message: "這個進程已經(jīng)被掛起.",
      buttons: ["重載", "關閉"]
    }
    dialog.showMessageBox(options, function (index) {
      if (index === 0) win.reload()
      else win.close()
    })
  })

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

等待進程再次響應.

在進程掛起的的情況下, 第三個選擇是等待并查看問題是否解決, 允許進程再次響應. 為此, 請使用 BrowserWindow 的 "responsive" 事件, 如下所示:

win.on("responsive", function () {
  // 當窗口再次響應時做些什么
})

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

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81700.html

相關文章

  • electron程序保護措施(崩潰監(jiān)控,開機自啟,托盤關閉)

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

    2i18ns 評論0 收藏0
  • 使用webpack + electron + reactJs開發(fā)windows桌面應用

    摘要:在開發(fā)項目時,可以先用網(wǎng)頁的形式開發(fā)項目,等到網(wǎng)頁項目部分差不多完成后,再注入中,開發(fā)網(wǎng)頁項目部分和窗體部分的交互在中使用后,將不會打包有關的代碼 electron是一兩年前挺火的一個框架本質上是一個瀏覽器,但是集成了很多windows系統(tǒng)的功能,讓前端開發(fā)也可以直接操作windows的窗體,做成一個實打實的桌面軟件 團隊主要的技術棧是react,所以考慮用react開發(fā),方便維護。 ...

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

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

    Brenner 評論0 收藏0
  • electron+vue制作桌面應用--自定義標題欄

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

    roundstones 評論0 收藏0
  • electron+vue制作桌面應用--自定義標題欄

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

    用戶83 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<