Форум программистов, компьютерный форум CyberForum.ru

Webview, контроль загрузки страниц - Android

Восстановить пароль Регистрация
 
ilnurgi
 Аватар для ilnurgi
137 / 137 / 18
Регистрация: 20.02.2012
Сообщений: 596
16.08.2016, 10:50     Webview, контроль загрузки страниц #1
Здравствуйте.

Подскажите пожалуйста, каким образом управлять процессом загрузки страниц.
А именно, загрузил я страницу в вебвию, пользователь тыкнул какую то ссылку, дальше идет переход по этой ссылке.
Мне надо в этот запрос, добавить свои заголовки, какие-то параметры. Или вообще прекратить загрузку если урл мне нравится.

Java
1
2
3
4
5
6
webView = (WebView) findViewById(R.id.web_view);
 
webView.loadUrl(url);
 
webView.setWebViewClient(new WebViewClient() {});
webView.setWebChromeClient(new WebChromeClient() {});
WebViewClient имеет только методы нотификации, типа началась загрузка или загрузка завершена.
А вот как именно управлять загрузкой, не пойму.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    Toast.makeText(getApplicationContext(), "shouldOverrideUrlLoading", Toast.LENGTH_SHORT).show();
    return super.shouldOverrideUrlLoading(view, request);
}
 
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
    Handler handler = new Handler(getMainLooper());
    handler.post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getApplicationContext(), "shouldInterceptRequest", Toast.LENGTH_SHORT).show();
            }
        });
 
    return super.shouldInterceptRequest(view, request);
}
первый у меня чето не выполняется, не вижу всплывающих сообщений.

а во втором, у реквеста нету методов для его изменения.
конечно можно создать новый, но мне нужны все данные исходного реквеста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2016, 10:50     Webview, контроль загрузки страниц
Посмотрите здесь:

Android webView не работает с фреймами
Android Не работает javascript в WebView
Ссылка в Webview на activity Android
Android WebView. Навигация свайпом
Передача с webview в jsoup Android
Работа с webview Android
Android Закгрузить файл в WebView
WebView и .html в assets Android
Android WebView и реализации tel:
Android WebView и gif анимация
Вызов js функции в webView Android
Android Не правильное отображение веб страниц в webView

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
petruchodd
 Аватар для petruchodd
89 / 89 / 8
Регистрация: 23.06.2009
Сообщений: 505
16.08.2016, 16:12     Webview, контроль загрузки страниц #2
не знаю поможет или нет. Когда-то делал таким способ подгрузку нужного javascript кода в webview , так как сайт был написан по новой методике и старые браузеры в андроидах не поддерживали функции javascript
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
view.setWebViewClient(new WebViewClient(){
            @Override
            public void onPageFinished(WebView view, String url) {
 
                String javascript_promise = "javascript:"+PROMISE_JS;
                view.loadUrl(javascript_promise);
                //reload script on server
                String reloadString = "var head= document.getElementsByTagName('head')[0];\n" +
                        "      var script= document.createElement('script');\n" +
                        "      script.type= 'text/javascript';\n" +
                        "      script.src= someUrl;\n" +
                        "      head.appendChild(script);";
                String reload = "javascript:"+reloadString;
                view.loadUrl(reload);
                // re-run
                view.loadUrl( "javascript:var scripts = document.querySelectorAll('script'); var news = document.createElement('script'); news.setAttribute('type','text/javascript'); news.appendChild(document.createTextNode(scripts[scripts.length-4].innerText)); document.head.appendChild(news);" );
             }
Yandex
Объявления
16.08.2016, 16:12     Webview, контроль загрузки страниц
Ответ Создать тему
Опции темы

Текущее время: 07:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru