Intereting Posts
Соединение с Sqlite в android через сервлет Дилемма точности компаса Модуль модульного тестирования RoboGuice для инъекций вместо тестового модуля Как определить версию услуг Google Play? Как создать эффекты Lomo / Retro в предварительном просмотре камеры Android? Android «Только оригинальный поток, создавший иерархию представлений, может коснуться его представлений». Android GreenDao – удаляет только кешированные объекты определенной сущности Кордова запускает андроид: ANDROID_HOME не установлен и андроид не на моем пути Использование AppCompat 'layout_behavior' с '@ string / appbar_scrolling_view_behavior' вызывает исключение Как установить размер пользовательского вида Android: как получить значение атрибута в коде? Предварительная загрузка дополнительных представлений с помощью ListView-Adapter ADT не позволит создавать Android-активность Как отобразить индикаторный пузырь поверх изображения? CoordinatorLayout, используя ViewPager's RecyclerView

Как сделать замену через веб-страницы, загруженные в Webview

Я использую приложение, использующее webview. Для URL-адресов, загруженных в веб-просмотр, мне нужно будет выполнить замену по html-коду, загруженному в URL-адрес.

Как я могу сделать это эффективным способом?

Объяснение: Мне нужно заменить конкретный скрипт сценария из источника:

В примере: я хочу

<html> <script> SCRIPT A</script> <p>Hello World</p> </html> 

Я хочу показать пользователю эту другую

 <html> <script> SCRIPT B</script> <p>Hello World</p> </html> 

благодаря

Solutions Collecting From Web of "Как сделать замену через веб-страницы, загруженные в Webview"

Вы должны переопределить shouldInterceptRequest WebViewClient . См. Документы здесь .

Общая форма была бы такой (непроверенной):

 webview.setWebViewClient(new WebViewClient() { @Override public WebResourceResponse shouldInterceptRequest (final WebView view, String url) { if (you_want_to_intercept) { /*return custom WebresourceResponse here*/ } else { /*call superclass*/ return super.shouldInterceptRequest(view, url); } } } 

Надеюсь, это поможет, дайте мне знать, если нет.

Вы можете использовать HTTP-запрос, чтобы получить HTML-страницу как String, а затем использовать что-то вроде jsoup для поиска и замены скрипта и использовать WebView.loadDataWithBaseURL для загрузки содержимого HTML в WebView.