Javascript 在不重新加载页面的情况下更改Android Webview哈希
我有一个自定义的webview设置,它运行得很好,但我希望能够: 1、在webview不重新加载页面的情况下更改url哈希(这将丢失我的js应用程序的状态) 2、从android中调用我网页中的一些js。不幸的是,我无法更改网站内的任何JS,因此无法自定义编写任何JS来放在网站上,特别是为了工作,我唯一能控制的就是Android应用程序 有人能想出一个方法来做这两件事吗 提前谢谢 对于#2,您的活动可以调用JavaScript方法。您只需使用适当的JavaScript调用调用loadUrl方法:Javascript 在不重新加载页面的情况下更改Android Webview哈希,javascript,android,hash,webview,Javascript,Android,Hash,Webview,我有一个自定义的webview设置,它运行得很好,但我希望能够: 1、在webview不重新加载页面的情况下更改url哈希(这将丢失我的js应用程序的状态) 2、从android中调用我网页中的一些js。不幸的是,我无法更改网站内的任何JS,因此无法自定义编写任何JS来放在网站上,特别是为了工作,我唯一能控制的就是Android应用程序 有人能想出一个方法来做这两件事吗 提前谢谢 对于#2,您的活动可以调用JavaScript方法。您只需使用适当的JavaScript调用调用loadUrl方法:
mWebView.loadUrl("javascript:wave()");
发件人:
或者,如果您只想更改哈希,可以使用:
view.loadUrl("javascript:location.hash=\"#" +fragment+"\"");
我知道这个问题由来已久,但这是我在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);
}
});
String fragment=“#测试”
mWebView.evaluateJavascript(“location.hash=\”“+fragment+\”;”,new-ValueCallback(){
@凌驾
公共无效onReceiveValue(字符串值){
//是的,我喜欢记录数据:-)
Log.d(“MyApp”、“onReceiveValue(值):”+值);
}
});