2017-04-18 3 views
0

私のプログラムに問題があります。 Webビューのステージがあり、HTMLファイルを変更することもありますが、Webビューをリロードして変更を動的に見ることはできません。私は、HTMLファイルと呼びSHOWMEで何かを(変更したときにこのコードは、動作しますが、単にHTMLファイルの最初のバージョンのためのWebViewで新しいファイルを読み込むには?

public void showme(String what) { 
    try { 
     WebEngine webEngine = webvw.getEngine(); 
     System.out.print("vsengine_projects/" + xoxo + "/" + what); 
     URL url = this.getClass().getResource("vsengine_projects/" + xoxo + "/" + what); 
     webEngine.load(url.toString()); 
     System.out.println("KK"); 
    } catch (Exception e) { 
     System.err.println("EXC " + e); 
    } 
} 

)再び、何も起こりません。 Htmlファイルはローカルディレクトリにあります。 Webビューを動的にリロードする可能性はありますか?

+0

あなたは( 'Platform.runLaterを()'を使用して)_JavaFXのthread_から ')(' SHOWMEを呼び出していますか? –

+0

いいえ、私はそうではありませんが、私はそれを試すことができます。 –

答えて

0

キャッシュを表示する前にクリアする必要があると思います。たぶん、関数の先頭に次のように呼び出す:のJavaFXのWebViewのための

セッションクッキーはjava.net.CookieHandlerに格納されています。

java.net.CookieHandler.setDefault(new java.net.CookieManager()); 

私は以下に引用このanswerからセッションデータをクリアする方法を発見しました。

java.net.CookieHandler.setDefault(manager); 

CookieをクリアするにはちょうどのremoveAllメソッドを呼び出します:

manager.getCookieStore().removeAll(); 
デフォルトとして設定すると java.net.CookieManager:

java.net.CookieManager manager = new java.net.CookieManager(); 

の新しいインスタンスを作成し、自分でクッキーを管理するには

または単にクッキーマネージャの新しいインスタンスを作成し、それをデフォルト:

java.net.CookieHandler.setDefault(new java.net.CookieManager()); 
関連する問題