原創(chuàng)|產(chǎn)品更新|編輯:李顯亮|2021-07-22 11:16:56.437|閱讀 465 次
概述:JAVA應(yīng)用程序?yàn)g覽器集成控件JxBrowser更新至7.17, 在此版本中,此版本支持 Chromium 配置文件、JavaScript Promise API、網(wǎng)絡(luò)連接狀態(tài)更改時(shí)的通知以及許多改進(jìn)和修復(fù),歡迎下載體驗(yàn)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
JxBrowser是將基于Chromium的瀏覽器與Java應(yīng)用程序集成,以處理和顯示HTML5、CSS3、JavaScript、Flash等。
近日,JxBrowser v7.17發(fā)布啦! 在此版本中,此版本支持 Chromium 配置文件、JavaScript Promise API、網(wǎng)絡(luò)連接狀態(tài)更改時(shí)的通知以及許多改進(jìn)和修復(fù),歡迎下載體驗(yàn)。
新增功能
Chromium 91
Chromium已經(jīng)更新到91.0.4472.114版本。這個(gè)Chromium版本包括幾個(gè)重要的安全修復(fù),一些Chromium的功能已經(jīng)被刪除或改變。
配置文件
在這個(gè)版本中,我們擴(kuò)展了API的功能,允許管理Chromium配置文件。現(xiàn)在,該架構(gòu)有如下結(jié)構(gòu)。
每個(gè)引擎都有一個(gè)默認(rèn)的配置文件,你可以通過以下方式訪問:
Profile defaultProfile = engine.profiles().defaultProfile();
要?jiǎng)?chuàng)建一個(gè)新的普通或隱身檔案,請(qǐng)使用以下API:
Profiles profiles = engine.profiles(); Profile myProfile = profiles.newProfile("MyProfile"); Profile myIncognitoProfile = profiles.newIncognitoProfile("MyIncognitoProfile");
每個(gè)瀏覽器實(shí)例都有一個(gè)配置文件。要為特定的配置文件創(chuàng)建一個(gè)瀏覽器實(shí)例,請(qǐng)使用以下方法:
Browser browser = profiles.defaultProfile().newBrowser(); ... Profile myProfile = profiles.newProfile("MyProfile"); Browser browser = myProfile.newBrowser();
為了向后兼容,我們沒有改變引擎的接口。它只是將其調(diào)用委托給了默認(rèn)的配置文件。比如說:
Browser browser = engine.newBrowser(); // is equivalent of Browser browser = engine.profiles().defaultProfile().newBrowser();
CookieStore cookieStore = engine.cookieStore(); // is equivalent of CookieStore cookieStore = engine.profiles().defaultProfile().cookieStore();
如果你用用戶數(shù)據(jù)目錄配置了Engine,那么所有創(chuàng)建的profile將在應(yīng)用程序重啟之后被恢復(fù),除非你通過Profiles.delete(Profile)刪除一個(gè)profile。
JS Promises
新版本從JavaScript到Java類型的自動(dòng)類型轉(zhuǎn)換,反之亦然,已經(jīng)擴(kuò)展了對(duì)JavaScript Promise的支持。現(xiàn)在,可以通過全新的JsPromise類型與JavaScript Promises一起工作。
JsPromise promise = frame.executeJavaScript( "new Promise(function(resolve, reject) {\n" + " setTimeout(function() {\n" + " resolve('Hello Java!');\n" + " }, 2000);" + "})"); promise.then(results -> { System.out.println(results[0]); return promise; }).then(results -> { System.out.println(results[0]); return promise; }).catchError(errors -> { System.out.println(errors[0]); return promise; });
網(wǎng)絡(luò)連接狀態(tài)
Chromium在內(nèi)部跟蹤互聯(lián)網(wǎng)的連接狀態(tài)。當(dāng)互聯(lián)網(wǎng)連接中斷后又恢復(fù)時(shí),Chromium會(huì)檢測(cè)到這一點(diǎn)并以編程方式重新加載當(dāng)前加載的網(wǎng)頁。在這個(gè)版本中,我們用這個(gè)功能擴(kuò)展了API。現(xiàn)在,當(dāng)網(wǎng)絡(luò)連接狀態(tài)發(fā)生變化時(shí),你可以得到通知。比如說:
network.on(NetworkChanged.class, e -> { // If the connection type is TYPE_NONE, there is no connection. if (e.connectionType() == ConnectionType.TYPE_NONE) { // The network connection has been dropped. We are offline. } else { // The network connection has been restored. } });
增強(qiáng)功能
Bug修復(fù)
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn