整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JAVA瀏覽器控件JxBrowser v7.3勁爆來襲!支持最新MacOS Catalina

          xBrowser是將基于Chromium的瀏覽器與Java應用程序集成,以處理和顯示HTML5,CSS3,JavaScript,Flash等。

          JxBrowser更新至7.3,支持最新macOS Catalina,支持Java13,支持瀏覽器發起的URL請求,修復多項Bug,具體更新情況如下:

          點擊最下方“了解更多”即可下載最新版JxBrowser

          新增功能

          • MacOS Catalina(10.15):蘋果本月宣布了macOS Catalina(10.15)的公開發布。JxBowser 7.3已在此操作系統上經過測試,現在正式支持它。
          • Java 13:從7.3版開始,JxBrowser在Windows,Linux和macOS平臺上正式支持JDK 13。
          • 瀏覽器發起的URL請求:在BeforeSendHeadersCallback和ReceiveHeadersCallback回調中,您可以訪問Browser實例,該實例啟動了相應的URL請求。
          network.set(BeforeSendHeadersCallback.class, params -> {
           // Access the Browser instance initiated this URL request.
           params.browser().ifPresent(browser -> {});
           return BeforeSendHeadersCallback.Response.proceed();});network.set(ReceiveHeadersCallback.class, params -> {
           // Access the Browser instance initiated this URL request.
           params.browser().ifPresent(browser -> {});
           return ReceiveHeadersCallback.Response.proceed();});復制代碼
          
          • BrowserView中禁用Swing和JavaFX 組件:現在,可以BrowserView使用BrowserView.setEnabled(boolean)方法在兩種渲染模式下禁用/啟用Swing和JavaFX 組件。禁用BrowserView的用戶照常渲染Web內容,但忽略用戶輸入。

          改進

          • 該庫檢查所有在Linux平臺上所需要的依賴,并拋出如果缺少某些從屬項,并且必須安裝一個例外。檢查機制考慮了LD_LIBRARY_PATH環境變量。
          • BrowserView現在,在硬件加速渲染模式下,無需使用布局管理器,即可將Swing 正確放置在容器內。

          Bug修復

          • 修復BrowserView從macOS從HiDPI切換到非HiDPI顯示器時縮放錯誤。
          • 修復BrowserView在屏幕外渲染模式下刪除和添加相同的Swing 組件時,繪畫不完整。
          • 修復Engine在停止JavaFX應用程序期間關閉實例后,無限等待問題。
          • 修復在ReceiveHeadersCallback回調中使用相同的HTTP標頭覆蓋URL請求會導致某些網站停止加載時出現問題。
          • 修復ava.lang.IllegalArgumentException:在注冊實現兩個或更多回調接口的回調時,無法確定操作類錯誤。
          • 修復BrowserView當在比例系數> 100%的監視器上顯示并且使用--force-device-scale-factor=1.0Chromium開關時,Swing 邊界不正確的問題。
          • 修復將Swing BrowserView組件嵌入到JTabbedPane容器中時,Web內容顯示在主屏幕的左上角。
          • 修復Cookie將cookie放入cookie存儲區時,到期時間將被忽略并且無效的問題。
          • 修復key在屏幕外渲染模式下觸發keydown JavaScript事件時,此屬性為空的問題。
          • 修復在屏幕外渲染模式下,在Bing地圖,HTML滑塊和WebGL內容上進行的拖放操作無法正常工作。
          • 修復java.lang.NullPointerException構造JsError實例期間的錯誤。
          • 修復在非屏幕渲染模式下在Linux上調整WebGL內容大小時閃爍的問題。
          • 修復BrowserView在Swing和JavaFX中同時顯示時,在屏幕外渲染模式下加載具有不同域的網頁時,內存泄漏的問題。
          • 修復在Windows上禁用Chromium Sandbox時,殺死Java進程時,待處理的Chromium呈現進程。
          • 修復在macOS上的硬件加速渲染模式下使用BrowserView兩個或更多BrowserView實例時,顯示錯誤JTabbedPane。
          • 修復PointInspection位于中的HTML元素的結構中的框架錯誤IFRAME。
          • 修復CookieStore 無法刪除由網絡服務器設置的cookie。
          • 修復在Windows和Java 10及更高版本上顯示JavaFX Stage并TabPane包含BrowserView在硬件加速渲染模式下時,本機崩潰的問題。
          • 修復在屏幕外渲染模式下,右鍵單擊上下文菜單不適用于Windows上的某些網頁的問題。

          隨著當今計算機網絡技術的發展,Web技術由于其良好的跨平臺特性,其對于更新迭代較慢的工控行業的影響也越來越大。包括西門子在內的工業自動化巨頭都將Web技術融入到自身最新控制系統中: WinCC Unified PCS7 neo等。但是在傳統的SCADA系統中,往往對于最新的Web技術的兼容性不夠理想。例如西門子公司的Wincc軟件,由于強大的功能和可擴展性,在工控行業應用廣泛,筆者在最近的項目中就遇到一個問題,因為某品牌稱重模塊的參數設置和校準是通Web頁面來實現的,但是在用Wincc的WebBrowser Control控件時經常會遇到一個問題,那就是新打開網頁的時候經常會報瀏覽器腳本執行錯誤,客戶不接受系統有報錯顯示,所以必須想辦法給予解決。通過查詢相關資料得知,Wincc的WebBrowser Control控件因為采用的舊的IE內核的原因,對于JS腳本兼容性不夠好。

          那么有什么辦法可以解決這個問題嗎?既然舊的IE內核與JS兼容性不好,那么有沒有辦法可以給它換個完美兼容JS的內核呢。西門子自帶的控件肯定是不能用了,那么只能自己制作一個支持.NET控件來實現了。

          新建Visual Studio項目

          新建一個Windows窗體控件庫項目,如下圖所示。

          安裝CefSharp包

          因為Visual Studio自帶的WebBrowser控件也是基于IE內核,所以為了一勞永逸,我們需要安裝一個支持Chrome內核的第三方包。右鍵點擊項目,選擇“管理NuGet程序包”,搜索CefSharp.WinForms,并下載最新版本,如下圖所示。

          添加ChromiumWebBrowser控件

          擴展包正確安裝完成之后,在工具箱會多出兩個控件,將下圖中標紅的控件添加到窗體控件中,并添加一個TextBox控件用于IP地址的顯示,如下圖所示。

          將URL作為參數傳入用戶窗體控件

          筆者的項目,稱重模塊是在瀏覽器中通過輸入IP地址進行模塊校準,當用戶自行實施校準操作時,因為模塊比較多,加之IP地址又不好記。顯然,要用戶直接輸入IP地址操作是不夠友好的。所以需要在Wincc中根據不同的稱重模塊動態化的寫入IP地址,用戶只需要根據傳感器所在工藝流程圖的位置選擇對應的模塊即可。IP地址將其作為參數傳入我們制作的.NET控件。為此我們需要為用戶窗體控件新增一個屬性,通過這個屬性來傳遞URL。在用戶窗體畫面雙擊空白處,進入控件類的定義,新增一個名稱“IPAddress”,返回值類型為String的屬性,代碼如下圖所示。

          加載URL

          URL參數傳入之后,我們需要瀏覽器控件加載我們的URL,這里需要用到ChromiumWebBrowser控件的Load()方法加載我們的URL。代碼如下圖所示。

          生成DLL文件

          至此我們已經完成控件的代碼編寫工作了,我們只需要輸出DLL文件就完成控件制作工作了,點擊生成解決方案就可以在輸出文件夾中輸出我們需要的DLL了,如下圖所示。

          在Wincc中調用.NET控件

          接著我們需要在Wincc中調用我們制作的控件,打開Wincc畫面編輯器,在控件欄選擇.NET控件,右鍵單擊添加。選擇名稱為Visual Studio中項目名稱的DLL。然后添加進Wincc系統中。

          動態化URL

          控件添加成功后,拖放至畫面中,通過控件屬性,我們可以看到控件屬性中新增了一條名稱為“IPAddress”的屬性,這個屬性用來傳遞URL參數,在這里我們可以輸入固定的值,也可以通過動態綁定Wincc的變量。

          我們激活運行之后打開網頁就不會出現腳本錯誤的問題了,同時也可以在項目中通過腳本自動關連到不同稱重模塊的參數與校準界面,省掉用戶手動輸入IP地址的繁瑣,演示效果如下圖所示。

          備注:本文中所用的開發軟件為:Visual Studio Community 2022 (64 位) Wincc7.4SP1+Upd16。

          xBrowser是將基于Chromium的瀏覽器與Java應用程序集成,以處理和顯示HTML5、CSS3、JavaScript、Flash等。

          主要功能

          • 用來將HTML瀏覽程序內置到AWT/Swing用戶界面上的可視瀏覽器控件
          • 使用Gecko 1.9/Firefox 3代碼庫
          • 標準化的導航方法,如直接導航()、后退()、前進()以及停止()
          • 能執行JavaScript代碼。支持字符串返回值。
          • 不同瀏覽器事件的標準Java監聽對象
          • 通過W3C DOM API訪問瀏覽器的DOM(org. w3c. dom.*包)
          • 控制臺服務使你能收到關于腳本失敗與其它頁面問題的通知
          • 能創建上下文獨立的Java菜單代替標準的瀏覽器菜單
          • 能下載文件
          • 擁有為不同內容類型提供用戶定義行為的API
          • 追蹤不同步操作的API
          • 瀏覽器代理設置的配置

          近日,JxBrowser v7.14發布啦! 在此版本中,Chromium引擎已升級到版本89,同時Chromium不再支持Flash,所有與Flash相關的功能均已從其源代碼中刪除,歡迎下載體驗。

          點擊下載最新版JxBrowser

          新增功能

          Chromium 89

          Chromium已更新至版本89.0.4389.90。此Chromium版本包含幾個重要的安全修復程序,因此建議您將JxBrowser升級到v7.14。

          Flash EOL

          Chromium不再支持Flash。所有與Flash相關的功能均已從其源代碼中刪除。在此版本中,也刪除了以下與Flash相關的API:

          • EngineOptions.ppapiFlashPath()
          • EngineOptions.ppapiFlashVersion()
          • EngineOptions.Builder.ppapiFlashPath(Path ppapiFlashPath)
          • EngineOptions.Builder.ppapiFlashVersion(String ppapiFlashVersion)

          改進措施

          • BrowserView現在,在兩種渲染模式下都必須在Linux上強制使用矩形。在以前的版本中BrowserView有圓角。
          • 在實例化一個Engine實例時,Chromium的進程數量減少了。在之前的版本中,Chromium啟動了7個進程。主進程,GPU,2x實用程序,3x渲染器。現在只啟動了4個進程:Main、GPU、Utility、Renderer。
          • 現在可以在DevTools中創建HAR文件。
          • 對本地網絡IP的Chromium流量已被禁止。我們發現,即使在Chromium流量被關閉的情況下,Chromium仍然會向URLs(如URLs http://10.0.0.17:8060或http://192.168.1.188)發送請求。
          • 當關閉BrowserView時,總是將焦點返回到JavaFX。

          Bug修復

          • 在屏幕外渲染模式下,Linux上的GPU崩潰。
          • 顯示HTML工具提示時,在硬件加速渲染模式下,Windows和Linux上的GPU崩潰。
          • 當BeforeSendUploadDataCallback.Params.uploadData()有非UTF-8文本時,出現InvalidProtocolBufferException錯誤。現在,如果上傳數據有非UTF-8文本,數據將被視為com.teamdev.jxbrowser.net.BytesData。
          • 在Windows上隱藏和顯示BrowserView在副顯示屏上的縮放因子與主顯示屏不同后的錯誤縮放。
          • 在Windows的硬件加速渲染模式下,從JavaFX SplitPane中添加/移除BrowserView時閃爍。
          • 當調整大小時,彈出窗口減小其大小。
          • 當導航到某個HTTPS URL時,由于SSL握手失敗,導致網頁無法加載。
          • 離屏渲染模式下的jQuery文件拖放失敗。
          • 在macOS上,FocusGained事件未被觸發。
          • 在Linux上,Chromium二進制文件驗證失敗并出現權限錯誤。
          • 在Windows上,默認的拼寫檢查器上下文菜單在其外點擊時未被關閉。
          • JavaScript剪貼板API的讀/寫權限未被授予。
          • Chromium Win32二進制文件驗證失敗。
          • 在拼寫檢查器初始化過程中,輸入文本的網頁崩潰。

          主站蜘蛛池模板: 在线观看一区二区三区视频| 精品少妇一区二区三区视频| 亚洲天堂一区二区| 精品不卡一区二区| 精品国产天堂综合一区在线| 亚洲AV福利天堂一区二区三| 日韩三级一区二区| 一区二区中文字幕在线观看| 色综合视频一区二区三区| 亚洲乱码一区二区三区在线观看 | 亚洲欧洲一区二区三区| 日本香蕉一区二区三区| 亚洲欧洲精品一区二区三区| 免费看一区二区三区四区 | 香蕉视频一区二区三区| 亚洲日本va午夜中文字幕一区| 精品欧美一区二区在线观看| 日韩高清一区二区三区不卡| 亚洲av无码片vr一区二区三区| 不卡无码人妻一区三区音频| 国产对白精品刺激一区二区| 韩日午夜在线资源一区二区| 国产AV一区二区三区传媒| 亚洲性日韩精品一区二区三区| 日韩成人无码一区二区三区| 色婷婷AV一区二区三区浪潮| 精品女同一区二区三区免费播放| 亚洲熟女综合色一区二区三区 | 色欲AV无码一区二区三区| 精品性影院一区二区三区内射| 亚洲国产精品一区二区第四页 | 国产aⅴ精品一区二区三区久久| 无码人妻一区二区三区兔费| 日本一区二区三区爆乳| 一本大道东京热无码一区| 亚洲综合无码一区二区| 国产精品综合AV一区二区国产馆| 国产婷婷一区二区三区| 国产亚洲一区区二区在线| 亚洲乱码一区二区三区在线观看| 日本一区二区免费看|