2010-06-12 3 views
7

웹 페이지가 있는데 나는 webview를 사용하고 있지만 맨 위에있는 1 개의 텍스트 링크를 숨기고 싶습니다. 이것을 할 수있는 방법이 있습니까? 링크가 본문에 있으므로 본문 요소를 전체적으로 숨길 수는 없습니다. 웹 페이지는 모두 텍스트이고 하단에는 작은 이미지가 있지만 텍스트를로드 할 때마다 텍스트가 생성되므로 본문을 복사/붙여 넣기 할 수는 없습니다.webview에서 요소를 숨기는 방법은 없나요? (안드로이드)

감사합니다.

답변

6

알았습니다. "(함수() { 자바 스크립트"+ "document.getElementsByTagName ('A') [0] .style.display = '없음 스크립트 I 주입함으로써 는

webview.loadUrl을 (사용했다 '; "+" "})()");

링크 (코드)가 제거됩니다. ('a')를 ('img')로 바꾸면 이미지가 삭제됩니다.

(감사 lexanderA - Injecting JavaScript into a WebView)

11
final WebView webview = (WebView)findViewById(R.id.browser); 

    webview.getSettings().setJavaScriptEnabled(true); 

    webview.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onPageFinished(WebView view, String url) 
    { 
     // hide element by class name 
     webview.loadUrl("javascript:(function() { " + 
       "document.getElementsByClassName('your_class_name')[0].style.display='none'; })()"); 
     // hide element by id 
     webview.loadUrl("javascript:(function() { " + 
       "document.getElementById('your_id').style.display='none';})()"); 

    } 
    }); 

webview.loadUrl(url); 
+3

그것은 '이어야 "자바 스크립트 (함수() {. document.getElementById를 ('your_id ') = style.display를'없음 '})()"(' '[0]'제외) – 18446744073709551615

+0

동일한 코드를 사용하고 있지만 webView에 아무런 영향을주지 않습니다. –

관련 문제