在被Jcef的時不時卡死折磨之后,我開始了翻譯JxBrowser檔案的旅程(非手工翻譯),
接觸了JxBrowser后,我被它強大的力量所折服,不得不說,比Jcef好太多,讓我直接放棄了Jcef,最重要的一點,它不需要JCEF那么多花里胡哨的編譯,(用作個人專案確實是個不錯的選擇)
JxBrowser是一個跨平臺的Java庫,允許將基于Google Chromium的Web瀏覽器組件集成到Java Swing / AWT / JavaFX應用程式中,使用JxBrowser,您可以將輕量級Swing / JavaFX組件嵌入到Java應用程式中,以顯示現代網頁,支持最新的Web標準,如HTML5,CSS3,JavaScript等,
這是他官網的描述:JxBrowser可以使用HTML + CSS + JavaScript構建Java桌面應用程式UI,這意味著您可以使用任何現代HTML5 UI工具包(如easyui,bootstrap)來構建用戶界面友好的Java桌面應用程式,您可以解雇Swing/AWT開發人員,因為HTML + CSS + JavaScript開發人員可以構建Java應用程式的GUI,它大大降低了Java專案開發的成本,
(Swing/AWT開發工程師:???)

(注:以上翻譯內容請自行對照谷歌翻譯,不保證其真實性)
獲取JxBrowser的最新版本:https://jxbrowser-support.teamdev.com/release-notes/2020/v6-24-3.html (英文看不懂?谷歌瀏覽器右鍵,翻譯成中文)
截止本文發布日期,6.x最新版本是2020年3月16號的6.24.3,
相關資料均可在百度云盤獲取(開發檔案[英文原檔案,帶中文翻譯的檔案],帶中文翻譯的幫助檔案(來源:https://jxbrowser.support.teamdev.com/support/solutions),所需的Jar(6.24.3),Demo,因為我最早接觸的是6.23.1,所以帶中文翻譯的開發檔案是6.23.1版本):https://pan.baidu.com/s/1P7gMI8-0Bi8aIDE1d4C0ng 提取碼: k6xp --來自百度網盤超級會員v4的分享
檔案資料CSDN下載地址:https://download.csdn.net/download/xymmwap/12909790 (下載需要1積分,CSDN下載積分用不完的朋友可以去這里下載,讓本人賺點積分,以備偶爾需要的下載,感謝!)
開發檔案用于寫程式時查找類/方法的用法,幫助檔案用于入門、進階、刪庫跑路等,建議先把幫助檔案看一遍,照著例子寫一遍,
開源了個人專案供大家參考(需添加許可證資訊才能正常運行,許可證怎樣獲得?百度一大堆,JxBrowser官網可以申請30天試用),功能和PowerOfLengedJcef差不多【含 腳本管理,代碼模板生成器,JxBrowser幫助檔案】:
github:https://github.com/lieyanfeimao/PowerOfLongedJxBrowser.git
碼云:https://gitee.com/edadmin/PowerOfLongedJxBrowser.git
因為JxBrowser已經提供了詳細的Demo,這里我沒有像Jcef一樣去寫個Demo工程了,
本文使用的Jxbrowser版本是:jxbrowser-6.24.3
因為優秀,所以它并不免費,請自行想辦法獲取許可證,如果它能幫到你,而你也資金充裕,建議購買正版,(錢是個好東西)
優點:
完美支持各大視頻網站的視頻播放,頁面流暢不卡死(不能說百分百),支持Java與JS互動,支持ajax資料監聽,總之,牛的一匹,
我很喜歡這種JAVA和JS互動的方式,例如:var a=Java.test();
瑕疵:
個人覺得不友好的地方,對iframe頁面操作不甚方便,使用開發者工具[Debug模式]需要連接谷歌服務器(因為防火墻在,連不上),開發者工具很怪,操作沒谷歌瀏覽器的方便,Jcef在這兩點上做的就比較好,
另外,經過長時間沉淀,JxBrowser會在C盤下會生成大量快取/資料檔案,很容易撐爆磁盤,請參照幫助檔案 文獻資料(Documentation)>瀏覽器引擎(Browser Engine)>清除快取(Clearing Cache) 進行處理
主要類介紹
先大概介紹一下常用的類,免得寫代碼的時候一臉懵逼(講我用過的吧),相關類具體的說明請查看開發檔案,
Browser:瀏覽器主類,處理瀏覽器的相關操作,如執行JS、監聽事件等等,是一個非常重要的類,當你對瀏覽器做一些設定,如監聽事件、前進后退等,可查閱此類的檔案,它位于:com.teamdev.jxbrowser.chromium
BrowserContext:描述瀏覽器實體的背景關系,提供指向將存盤Chromium資料檔案(如cookie,歷史記錄,快取)的目錄的路徑,并提供對背景關系級別功能(如NetworkService)的訪問,具有相同BrowserContext的兩個Browser實體將共享會話cookie和快取檔案,這個類我在同時啟動多個應用時用到,因為各個應用不能共用同一個資料檔案目錄,所以,我用它為應用分配不同的資料檔案目錄,
BrowserPreferences:瀏覽器實體和全域庫首選項,設定瀏覽器的啟動引數等,一般在程式啟動時設定,也可以使用Browser的setPreferences()方法設定
NetworkService:提供對網路級功能的訪問,這個類很有用,可以用它實作對網路請求的操作,我試了下,用了它后程式比較不穩定,
JS開頭的類:對JS的相關處理
com.teamdev.jxbrowser.chromium:監聽器,事件
com.teamdev.jxbrowser.chromium.dom:操作DOM物件的介面
com.teamdev.jxbrowser.chromium.swing:用于swing下的一些handler實作類,例如監聽網頁回傳資料使用的是DefaultNetworkDelegate
官方Demo里面已經有了各種騷操作的用法,這里我只說些常用的和一些踩的坑,(官方Demo在哪?在百度云盤里)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/152801.html
標籤:其他
上一篇:JS特效:兩側廣告跟隨
