在不重新加载页面的情况下更改Android Webview哈希值

3
我有一个定制的Webview设置,工作得很好,但我想要实现以下功能之一:
1. 更改URL哈希,而不会重新加载页面(这将导致我的JS应用程序状态丢失)。 2. 从Android中调用位于我的网页内部的某些JS。不幸的是,我无法更改站点内的任何JS,因此无法自定义编写任何JS以特别为该工作编写,我唯一能控制的是Android应用程序。
有人能想到如何实现其中任意一个吗?
提前感谢。
M
3个回答

4

如果只想更改哈希值,可以使用以下代码:

view.loadUrl("javascript:location.hash=\"#" +fragment+"\"");

1

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);
     }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接