我有一个自定义的webview设置工作得很好,但我希望能够:
1,在没有webview重新加载页面的情况下更改url哈希(它将丢失我的js应用程序的状态)
2,从android中调用我网页内的一些js。遗憾的是,我无法更改站点内的任何JS,因此无法自定义编写任何js以放置在网站上,尤其是作业,我唯一能控制的是Android应用程序。
任何人都可以想到这样做的方法吗?
提前致谢。
中号
答案 0 :(得分:4)
或者,如果您只想更改哈希值,可以使用:
view.loadUrl("javascript:location.hash=\"#" +fragment+"\"");
答案 1 :(得分:1)
对于#2,您的Activity可以调用JavaScript方法。您所要做的就是使用适当的JavaScript调用调用loadUrl方法:
mWebView.loadUrl("javascript:wave()");
自: http://developer.android.com/resources/articles/using-webviews.html
答案 2 :(得分:0)
我知道这个问题已经过时了,但这对我在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);
}
});