Изменение хеша Android Webview без перезагрузки страницы - PullRequest
3 голосов
/ 05 мая 2010

У меня есть пользовательская настройка веб-просмотра, которая работает довольно хорошо, но я хотел бы иметь возможность:

1, измените хеш URL без перезагрузки веб-просмотра страницы (это потеряло бы состояние моего приложения js)

2, позвоните некоторым js, которые находятся на моей веб-странице изнутри Android. К сожалению, я не могу изменить ни один JS на сайте, поэтому не могу специально написать JS для размещения на сайте специально для работы, единственное, что я контролирую, это приложение для Android.

Кто-нибудь может придумать, как это сделать?

Заранее спасибо.

M

Ответы [ 3 ]

4 голосов
/ 01 марта 2012

Или, если вы просто хотите изменить хеш, вы можете использовать:

view.loadUrl("javascript:location.hash=\"#" +fragment+"\"");
1 голос
/ 13 октября 2010

Для # 2 ваша активность может вызывать методы JavaScript.Все, что вам нужно сделать, это вызвать метод loadUrl с соответствующим вызовом JavaScript:

mWebView.loadUrl("javascript:wave()");

From: http://developer.android.com/resources/articles/using-webviews.html

0 голосов
/ 09 декабря 2015

Я знаю, что этот вопрос старый, но это то, что у меня работает в Android 4.4:

String fragment = "#test"
mWebView.evaluateJavascript("location.hash=\"" + fragment + "\";", new ValueCallback<String>() {
     @Override
     public void onReceiveValue(String value) {
         // Yes, I like to log data :-)
         Log.d("MyApp", "onReceiveValue(value): " + value);
     }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...