2017-04-18 2 views
0

프로그램에 문제가 있습니다. 웹보기가있는 무대가 있는데 때때로 HTML 파일을 변경하려고하지만 웹보기를 다시로드하고 변경 사항을 동적으로 볼 수는 없습니다. 나는 HTML 파일과 통화 SHOWME에 뭔가를 변경하면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 파일의 첫 번째 버전에 대한 작업() 다시 아무 일도 일어나지 않습니다. Html 파일은 로컬 디렉토리에 있습니다. 동적으로 웹보기를 다시로드 할 수 있습니까?

+0

당신이 전화하는'SHOWME()'_JavaFX의 thread_에서 ('Platform.runLater()'사용)? –

+0

아니, 나는 아니지만 그것을 시도 할 수있다. –

답변

0

캐시를 표시하기 전에 캐시를 지워야한다고 생각합니다. 아마 함수의 시작 부분에 다음과 같은 전화 : 자바 FX의 웹보기에 대한

세션 쿠키 java.net.CookieHandler에 저장됩니다

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

나는 아래의 인용이 answer에서 세션 데이터를 삭제하는 방법을 발견했다. 단지 전화에서 removeAll 방법

java.net.CookieHandler.setDefault(manager); 

쿠키를 지우려면 :

manager.getCookieStore().removeAll(); 

그런 다음 java.net.CookieManager:

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

의 자신의 만든 새 인스턴스에서 쿠키를 관리 기본값으로 설정하려면

또는 쿠키 관리자의 새 인스턴스를 만들고이를 의 기본 :

java.net.CookieHandler.setDefault(new java.net.CookieManager()); 
관련 문제