原創(chuàng)|產(chǎn)品更新|編輯:李顯亮|2020-08-21 10:18:03.297|閱讀 439 次
概述:JAVA應(yīng)用程序?yàn)g覽器集成控件JxBrowser更新至7.10,優(yōu)化屏幕外渲染模式,優(yōu)化Chromium功能,擴(kuò)展獲取網(wǎng)頁上當(dāng)前聚焦的HTML元素的方法,拼寫檢查功能已恢復(fù),同時修復(fù)多項(xiàng)Bug,歡迎下載體驗(yàn)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
JxBrowser是將基于Chromium的瀏覽器與Java應(yīng)用程序集成,以處理和顯示HTML5、CSS3、JavaScript、Flash等。
近日,JxBrowser v7.10發(fā)布啦!優(yōu)化屏幕外渲染模式,優(yōu)化Chromium功能,擴(kuò)展獲取網(wǎng)頁上當(dāng)前聚焦的HTML元素的方法,拼寫檢查功能已恢復(fù),同時修復(fù)多項(xiàng)Bug。以下是具體的更新內(nèi)容。
屏幕外渲染模式已重新實(shí)現(xiàn),以提高其在所有受支持的平臺和UI工具包上的渲染性能。以下是在不同平臺上以每秒幀數(shù)(FPS)的HTML5視頻進(jìn)行渲染性能測試的結(jié)果:
Windows
macOS
Linux
Chromium的功能,如谷歌云端通訊,翻譯排序器,擴(kuò)展更新,安全瀏覽,拼寫檢查,Widevine的等發(fā)出請求外部谷歌的網(wǎng)絡(luò)服務(wù),如//ssl.gstatic.com, //clients4.google.com, etc.
當(dāng)無法訪問Web服務(wù)或您不希望這些額外流量時,可以使用以下API:
Engine engine = Engine.newInstance( EngineOptions.newBuilder(renderingMode) .disableChromiumTraffic() .build());
此選項(xiàng)僅允許禁用無法通過JxBrowser API訪問的Chromium功能。例如,可以通過JxBrowser API訪問SpellChecker和Widevine功能,因此該選項(xiàng)不會禁用由這些功能引起的流量。
DOM API已使用Document.focusedElement()允許獲取網(wǎng)頁上當(dāng)前聚焦的HTML元素的方法進(jìn)行了擴(kuò)展:
document.focusedElement().ifPresent(element -> { ... });
在以前的版本中,調(diào)用同步回調(diào)時,可能會更改IPC消息順序。例如,通過該Browser.dispatch()方法調(diào)度鍵盤事件可能會導(dǎo)致網(wǎng)頁文本字段中字母隨機(jī)混合的問題。
在此版本中,我們改進(jìn)了內(nèi)部IPC邏輯以消除此類情況。這項(xiàng)改進(jìn)對如何處理同步回調(diào)中的代碼提出了一項(xiàng)重要要求。如果您執(zhí)行一些邏輯,從而在同步回調(diào)內(nèi)的單獨(dú)線程中對庫進(jìn)行同步調(diào)用,并阻塞等待該邏輯執(zhí)行之前的回調(diào),則可能會出現(xiàn)死鎖:
// Register a synchronous callback. browser.set(SomeSyncCallback.class, params -> { // Invoke some logic in a separate thread and block the current // thread execution until the logic has been executed. invokeInSeparateThreadAndWait(() -> { // Invoke a synchronous method. browser.someSyncMethod(); // <-- Deadlock: this method will never return. }); return Response.proceed(); });
要擺脫僵局,請改用以下方法:
// Register a synchronous callback. browser.set(SomeSyncCallback.class, params -> { // Invoke a synchronous method. browser.someSyncMethod(); return Response.proceed(); });
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn