2010-06-12 2 views
7

Есть веб-страница, которую я вытягиваю с помощью webview, однако мне хотелось бы скрыть 1 текстовую ссылку вверху. Есть ли способ сделать это? Ссылка находится в теле, поэтому я не могу скрыть элемент тела в целом. Веб-страница - это весь текст и одно маленькое изображение внизу, но текст генерируется каждый раз при его загрузке, поэтому я не могу просто скопировать/вставить тело.Любой способ скрыть элементы из webview? (android)

Thanks

ответ

6

Я понял! Вводя JavaScript Я должен был использовать

webview.loadUrl ("JavaScript: (функция() { " + «document.getElementsByTagName ('а') [0] .style.display =«None '; "+ "})() ");

Это удаляет ссылку (код). Замена ('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

Он должен быть ' "JavaScript: (функция() {. Document.getElementById ('your_ID') style.display = 'ни';})()"' (без '[0]') – 18446744073709551615

+0

Я использую тот же код, но это не оказывает никакого влияния на webView –

Смежные вопросы