2014-12-12 7 views
0

저는 여기에 대해 여러 주제를 읽었습니다. 처음에는 관련성이있는 것처럼 보입니다.하지만 "솔루션"코드를 읽을 때보 다 코드를 유지하는 String이 어디에 있는지 이해할 수 없습니다.webview에서 HTML 코드를 가져 오는 방법은 무엇입니까?

내가하고 싶은 것은 자바 스크립트로 수정하는 것보다 로컬 HTML 파일을로드하는 것입니다. 그리고 수정 한 후에 수정되지 않은 HTML 파일을 수정 된 HTML 파일로 바꾸거나 수정 된 HTML에서 새 HTML 파일을 만들려합니다. 그래서이 과정을 거친 후 수정 된 HTML 파일을 사용자 SD 카드에 저장하게됩니다.

나는 경우가 그것을 사랑했을 경우 이런 기능 : 난 그냥 그 문자열에서 HTML 파일을 생성하고 SD 카드에 저장할 수있는 것보다

String htmlContent = myWebView.getSouce(); 

.

이것은 지금까지 제 코드입니다.

 final WebView webview = (WebView)rootView.findViewById(R.id.webView); 
     webview.getSettings().setJavaScriptEnabled(true); 

     webview.setWebViewClient(new WebViewClient() { 
      @Override 
      public void onPageFinished(WebView view, String url) 
      { 
       /* This loads a javascript to the Html file and changes its design*/ 
       view.loadUrl("javascript:(function() { "+ 
         "Some Modifications to the test.html file"+ 
         "})()"); 
       //Now when i have modified the above test.html i would like 
//to get the modified HTML (The HTML now displaying in my webview). 
//So i was hoping i could write something like this: 
// String htmlContent = view.getSouce(); 

      } 
     }); 

     webview.loadUrl("file:///android_asset/test.html"); 
+0

가능한 중복 [웹보기에서 HTML 콘텐츠를 얻는 방법?] (HTTP ://stackoverflow.com/questions/8200945/how-to-get-html-content-from-a-webview) – tachyonflux

+0

나는 하나뿐 아니라 대답을 읽었으며 아무도 답변을 webview conten 문자열로 되돌아 간다. – user3711421

+0

기본적으로 보안 상 위험하므로 js에서 html을 가져와 js 인터페이스를 통해 Android에 다시 전달해야합니다. – tachyonflux

답변

0
+0

나는 여전히 수정 된 소스를 문자열로 가져 오는 방법을 모른다. 인터페이스를 사용하여 소스를 다시 검색하려면 어떻게해야합니까? – user3711421

+0

아하, 알았어. 내가 수정 한 스크립트를로드 할 때 다른 스크립트를로드해야합니다. webview.loadUrl ("javascript : window.HtmlViewer.showHTML"+ "(''+ document.getElementsByTagName ('html') [0]. innerHTML + ''); "); ..하지만 더블로드가 발생하지는 않을 것입니다. 흠. 어쨌든 그 작품처럼 보인다. – user3711421

+0

예, 대신 'document.documentElement.outerHTML'을 대신 할 수 있습니다. 그것은 페이지를 다시로드하지 않습니다, 당신은 js를 실행하기 위해 대부분의 브라우저에서 이것을 할 수 있습니다. – tachyonflux

관련 문제