Articles of webviewclient

Android JS в WebView.loadUrl ()

Я хочу загрузить веб-страницу в WebView, но удалить части веб-страницы. Итак, я создал собственный WebViewClient. И, в onPageFinished (), я сделал некоторый javascript, чтобы удалить некоторые элементы. Затем я сделал видимым WebView. Однако, когда я запускаю его, он устанавливает вид видимым, а затем я вижу удаляемые элементы. Это похоже на то, что JS работает в […]

Отключить Android WebView / WebViewClient Инициированный запрос favicon.ico

Как я могу отключить Android WebView / WebViewClient от отправки запроса на favicon.ico при вызове WebView.loadUrl ()? Я вижу, что вызов выполняется во время профилирования запросов через CharlesProxy. Я не владею содержимым HTML, которое я показываю в WebView. Мое исследование получило множество результатов на обходных решениях со стороны сервера, но для меня это не сработает.

OnPageStart вызывается много раз, а onPageFinished не вызывается для одной страницы

Мой вопрос отличается от этого, ребята. Я не знаю, как начать диалог, когда загрузка страницы начинается и заканчивается, когда загрузка страницы заканчивается в моем веб-просмотре. Моя проблема заключается в том, что диалог прогресса запускается и никогда не отбрасывается. Я установил точки останова, и он показывает, что диалог прогресса начинается и увольняется много раз, а затем […]

Системный сбой при переопределении долженInterceptRequest в WebViewClient

Цель: Переопределите все запросы, сделанные WebView, и сделайте запрос сам (в конечном итоге настройте прокси). Код: @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { if (url == null || url.trim().equals("")) return null; final DefaultHttpClient httpClient = new DefaultHttpClient(); httpClient.getConnectionManager().closeExpiredConnections(); final HttpUriRequest httpRequest = new HttpGet(url); try { final HttpResponse response = httpClient.execute(httpRequest); final Header[] headers […]

Что действительно делает stopLoading ()?

Да, я знаю, что документация для stopLoading () говорит: « Останавливает текущую нагрузку ». Но когда я пытаюсь использовать его для остановки загрузки текущей страницы, прежде чем загружать новую, она, похоже, не ведет себя так, как хотелось бы : 07-24 12:53:30.177: V/WebView.loadUrl: http://www.google.com 07-24 12:53:30.227: V/WebViewClient.onPageStarted: http://www.google.com ===> WebView.stopLoading() called here <==== 07-24 12:53:31.917: V/WebView.loadUrl: […]

Android – открыть целевые _blank ссылки в WebView с внешним браузером

Я создаю WebView который отображает веб-сайт. Веб-сайт содержит ссылки без атрибута target="_blank" а некоторые – с ним. Мне нужно открыть ссылки с target заданной во внешнем стандартном браузере устройств, и те, которые без него внутри WebView. Я использую WebViewClient и я пробовал эту функцию, но все мои ссылки открываются в WebView : Альтернатива 1: @Override […]

WebViewClient.onPageStarted () вызывается дважды при указании несуществующего URL через WebView.loadURL ()

Вот мой код public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); WebView webView = (WebView)findViewById(R.id.webView); // Assign webclient. webView.setWebViewClient(new WebViewClient( ) { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { Log.d("TAG", url); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Log.d("TAG", "failed: […]

ShouldOverrideUrlLoading не работает / улавливает ссылки при загрузке страницы

Я использую WebViewClient.shouldOverrideUrlLoading, чтобы поймать любые клики по ссылкам в WebView. Это работает примерно в 95% случаев, но иногда его просто не называют. Я заметил это в этих трех обстоятельствах: Когда ссылка указывает на страницу, они уже включены. Это не очень большая сделка, и об этом сообщается . Пока страница по-прежнему загружается, если пользователь нажимает […]

Проверьте метод onReceivedSslError () WebViewClient, если сертификат подписан из определенного самозаверяющего ЦС

Я хотел бы переопределить onReceivedSslError() WebViewClient . Здесь я хочу проверить, подписан ли сертификат error.getCertificate() из самозаверяющего ЦС и только в этом случае вызвать handler.proceed() . В псевдокоде: @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { SslCertificate serverCertificate = error.getCertificate(); if (/* signed from my self-signed CA */) { handler.proceed(); } else { […]

Android: EventHub.removeMessages (int what = 107) не поддерживается до того, как WebViewCore настроен

Я реализовал WebView в действии Dialog, и я загружаю простой url в webview. Мои настройки веб-просмотра wbView = (WebView) findViewById(R.id.wbView); wbView.setKeepScreenOn(true); wbView.getSettings().setJavaScriptEnabled(true); wbView.getSettings().setDomStorageEnabled(true); wbView.getSettings().setBuiltInZoomControls(true); wbView.setInitialScale(100); // wbView.getSettings().setUseWideViewPort(true); wbView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); wbView.setWebViewClient(new MyWebViewClient()); И MyWebViewClient () содержит private class MyWebViewClient extends WebViewClient { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); prgBar.setVisibility(View.GONE); } @Override public void […]