2016-12-03 146 views
0

我一直在上線,因爲上午嘗試在javafx中加載一個特定頁面到webview。每次我嘗試它顯示無法將頁面加載到webview

您使用的舊的瀏覽器未通過安全檢查我

瀏覽器錯誤。請使用新版瀏覽器

WebView wv = new WebView(); 
 
\t \t wv.getEngine().setCreatePopupHandler(new Callback<PopupFeatures, WebEngine>() { 
 

 
\t \t \t @Override 
 
\t \t \t public WebEngine call(PopupFeatures p) { 
 
\t \t \t \t Stage stage = new Stage(StageStyle.UTILITY); 
 
\t \t \t \t WebView wv2 = new WebView(); 
 
\t \t \t \t stage.setScene(new Scene(wv2)); 
 
\t \t \t \t stage.show(); 
 
\t \t \t \t return wv2.getEngine(); 
 
\t \t \t } 
 
\t \t }); 
 

 
\t \t StackPane root = new StackPane(); 
 
\t \t root.getChildren().add(wv); 
 
\t \t Stage primaryStage = new Stage(); 
 
\t \t Scene scene = new Scene(root); 
 

 
\t \t primaryStage.setTitle("ONE YEAR PLAN"); 
 
\t \t primaryStage.setScene(scene); 
 
\t \t primaryStage.show(); 
 
\t \t wv.getEngine().load("http://paystack.com/pay/one_year_plan");

我不斷收到此消息 error i got

回答

1

我要堅持我的脖子,並說,它不會是可能成功加載此頁面的JavaFX WebView

paystack.com提供的頁面調用https://www.howsmyssl.com/a/check來檢查瀏覽器的SSL設置。在Chrome中導航到此網址會返回一個包含Chrome SSL支持信息的JSON對象。嘗試使用JavaFX WebView訪問相同的URL會返回404錯誤。 PayStack頁面會捕獲404錯誤並顯示您看到的警告消息。

我不能責怪PayStack想要鎖定他們的網站。許多其他金融機構也會這樣做。我也不驚訝地發現GUI中的Web瀏覽器組件的侷限性:根據我的經驗,這些功能從來沒有像「正確的」Web瀏覽器那樣完全實用。

對不起,但我懷疑你將不得不放棄在這一個。

+0

謝謝@Luke伍德沃德的答覆。你會如何推薦我作爲替代解決方案來嘗試實現。 –

+0

@solomonogbodo:除了嘗試在JavaFX Web視圖中加載某個網頁,我不知道你在試圖達到什麼目的。 –

0

我還沒有在JavaFX中嘗試過,但我們在Swing應用程序中使用類似於java.net.URLConnection的方法。我們得到了同樣的迴應,這就是修復。
嘗試調用:

wv.getEngine()setUserAgent( 「Mozilla的/ 5.0(Windows NT的10.0; WOW64)爲AppleWebKit/537.36(KHTML,例如Gecko)Chrome瀏覽器/ Safari瀏覽器53.0.2785.143/537.36」)。