Изменить содержимое веб-браузера Android (хэш) без перезагрузки URL - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть 2 просмотра: Webview1 и Webview2 (скажем). Пользователь прибывает в Webview1 (URL-адрес загружается). Теперь, когда пользователь нажимает на Webview2, мне нужно загрузить URL-адрес, например www.abcd.com # Page1. Теперь, когда пользователь переходит ко второй странице в Webview1, мне нужно загрузить www.abcd.com # Page2 в Webview2. Аналогичным образом, когда пользователь перемещается по страницам в Webview1, мне необходимо соответствующим образом изменить содержимое в Webview2.

Но если я использую Webview2.loadurl() каждый раз, для загрузки требуется время. Вместо этого я хочу просто изменить содержимое без перезагрузки.

Примечание : я получаю значения # Page1, # Page2 и т. Д. Из Webview1, так что не беспокойтесь об этом. Пожалуйста, дайте мне знать, как этого добиться, не перезагружая новый URL каждый раз в веб-обозревателе Android.

1 Ответ

0 голосов
/ 04 февраля 2019

Я понял это:

Сначала загрузите веб-просмотр с помощью URL (скажем, www.abcd.com#Page1). Теперь, когда вы хотите обновить URL-адрес, например www.abcd.com#Page2 (значение хеш-функции изменяется с Page1 на Page2), просто сделайте следующее:

webView.evaluateJavascript("location.hash=\"" + url + "\";", new ValueCallback<String>() {
            @Override
            public void onReceiveValue(String value) {
                if(Debugging.Enabled) Log.d(TAG(), "onReceiveValue(value): " + value);
                }
        });

где url - новое значение хеша. то есть Page2. Webview загружается довольно быстро:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...