ssr*_*srp 5 javascript android webview
请告诉我如何将一些字符串值从活动传递到webview.我在DashboardActivity中加载了带有加载URL的webview,我想将该活动的字符串值传递给javaScript window.onload函数使用的webview.请告诉我一个这样做的方法.
Alb*_*bin 11
根据您的使用情况,有不同的方法来实现这一点.困难在于您希望在onload方法中执行操作.
如果可以在加载页面后传入字符串,则可以使用
String jsString = "javascript:addData('" + theString + "');");
webView.loadUrl(jsString);
Run Code Online (Sandbox Code Playgroud)
如果您确实需要在页面的onload方法上可访问的数据,则可以修改调用的url以包含查询数据(如果可能).就像是:
String urlWithData = yourUrl + "?data=" + theString;
webView.loadUrl(urlWithData);
Run Code Online (Sandbox Code Playgroud)
然后使用标准的javascript来解析window.location.search来获取数据.
最后,如果由于某种原因无法修改URL,可以使用回调对象让javascript获取值:
private class StringGetter {
public String getString() {
return "some string";
}
}
Run Code Online (Sandbox Code Playgroud)
然后在加载url之前使用此回调配置webView时:
webView.addJavascriptInterface(new StringGetter(), "stringGetter");
Run Code Online (Sandbox Code Playgroud)
在您可以使用的页面的onload方法中:
var theString = stringGetter.getString();
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!