最近在使用 NestJs 和 NextJs 在做一個協同文檔 DocFlow,如果感興趣,歡迎 star,有任何疑問,歡迎加我微信進行諮詢 yunmz777
Electron 39.0.0 於 2025 年 10 月 27 日發佈。此版本帶來了對 Chromium、Node.js 和 V8 引擎的更新,提升了性能和穩定性,同時也引入了一些新的功能和改進。以下是此版本的詳細變化。
在這一版本中,有幾個 API 和行為發生了變化,這可能會導致與以前版本的相容性問題。
OffscreenSharedTexture:此 API 的簽名進行了更新,新的版本提供了一個統一的 handle,用於持有原生句柄。這意味著開發者需要調整程式碼,以便正確使用這個新的介面。window.open:該方法的行為得到修復,確保它創建的彈出窗口始終是可調整大小的。原本可能出現的不一致性問題已經被解決,確保符合標準規範。RGBAF16 格式輸出圖像數據。這意味著應用程式可以更好地支援高動態範圍(HDR)圖像,提供更高品質的圖像渲染。process.getSystemMemoryInfo() 增強:在 macOS 上,getSystemMemoryInfo 方法新增了 fileBacked 和 purgeable 欄位,這讓開發者能夠獲得更多關於系統記憶體的信息,包括哪些記憶體是文件映射的、哪些可以被清除以釋放空間。systemPreferences.getAccentColor:在 Linux 上,Electron 新增了一個方法 systemPreferences.getAccentColor,它返回操作系統的強調色。這對於需要與操作系統主題顏色匹配的應用程式很有用。guid 選項:在 macOS 上,Tray 構造函數現在支援一個新的 guid 選項。這個選項允許托盤圖標在應用程式重新啟動後保持相同的位置和狀態,使得使用者體驗更加一致。webFrameMain.fromFrameToken(processId, frameToken) 方法,開發者可以通過此方法從幀令牌獲取 WebFrameMain 實例,這對於需要直接操作特定幀的應用程式非常有用。app.getRecentDocuments() 支援:在 Windows 和 macOS 上,Electron 現在支援 app.getRecentDocuments() 方法。通過這個方法,開發者可以獲取到最近訪問的文檔列表,方便實現類似於「最近使用文件」的功能。USBDevice.configurations 的支援。開發者現在可以獲得連接到裝置的 USB 配置信息,這對於需要與 USB 裝置互動的應用程式非常有用。systemPreferences.getAccentColor 返回的顏色反轉的問題,確保返回的顏色值符合預期。webContents.openDevTools({ mode: 'detach' }) 時可能導致的崩潰問題。Wayland 是 Linux 上的一種顯示協議,這個修復對於在該平台上開發的 Electron 應用程式至關重要。webContents.session 時可能導致崩潰的問題。這個修復增強了應用程式在多會話環境下的穩定性。window.close() 後,執行某些操作可能導致崩潰的問題。這個修復提高了窗口管理的可靠性。dialog.showOpenDialog 時,如果傳入的擴展名過濾器數組為空,可能導致的崩潰問題。DIR_ASSETS 來定位資產和資源。此外,app.getPath 方法現在支援返回一個新的 "assets" 鍵,用於獲取應用程式資源路徑。Electron 39.0.0 版本主要帶來了對 Chromium、Node.js 和 V8 的升級,提升了性能和穩定性。此外,新增了對 Offscreen 渲染、系統主題色、USB 裝置支援等的支援,也修復了多個與窗口管理、文件對話框等相關的 bug。對於開發者來說,這些更新和改進能夠帶來更高效、穩定的開發體驗。