Electron踩坑記錄



1.  electron通過點擊托盤打開無邊框透明窗口閃爍問題解決辦法

          https://blog.csdn.net/weixin_44399906/article/details/109245272

 

2.   electron桌面通知,修改默認通知應用名electron.app.Electron為自己應用的名稱

         https://www.cnblogs.com/ybixian/p/11045202.html

 

3. 為什么使用BrowserView而不是iframe?

      iframe跟宿主頁面共享一個渲染進程,當宿主頁面和iframe頁面都含有WebRTC功能時,

      iframe會跟宿主頁面搶占資源,導致兩個頁面都非常卡,卡到無法使用。

      electron 的 BrowserView會獨立開辟一個渲染進程,不跟宿主頁面搶占資源。

 

4. BrowserView 的缺點:

    無法跟與宿主頁面的彈窗統一使用z-index屬性定位層級,它總是在最上層。擋住宿主頁面的元素。

    https://github.com/electron/electron/issues/15899

 

5. BrowserView 內部頁面無法響應點擊事件的問題。

    在mac系統下,偶現。現在的處理方案是 sleep 20毫秒后,將BrowserView先從window移除,再添加進去。

 

 

6.  個別的jpg圖片顯示自動旋轉90的問題 , 相關jira:LIVE-1425

https://github.com/electron/electron/issues/8059

electron使用的chrome版本的問題。
目前我們使用的electron版本是:5.0.8
嘗試把electron版本升級到:11.1.1 , 此圖片旋轉的問題會得到解決。
但會帶來更多新的問題:
1. icon-font的圖標顯示不出來。
2. 聲網的sdk不兼容。

 

 

7.   Windows 環境下將本地圖片作為CSS背景,加載失敗。

     ---- 解決方案,將windows下的文件路徑中的反斜杠轉換為斜桿即可。

             p = p.replace(/\\/gm, '/');

 

8. Windows 環境下,桌面顯示放大成125%,BrowserView對象加載失敗。

    — 主要原因: BrowserView的setBounds函數的width/heigth參數只能是整數。

                          桌面放大成125%后動態獲取的寬高存在小數部分。

   —  解決方案:對setBounds函數的參數進行取整處理。Math.floor

 

9. 客戶端登錄界面,調用微信二維碼登錄時,jQuery加載失敗。

   —  問題原因:微信二維碼界面通過script標簽引入的jquery庫文件,此文件有對module對象進行判斷。

                          在electron客戶端中如果啟用了nodeIntegration,js運行上下文就會存在module對象。

  — 解決方案: 在proload階段加載的js文件中將window.module對象設置為null即可。

 

10 .  windows 系統下,放大縮小,最大化,最小化動畫效果。

         transparent:false

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM