use*_*455 3 html javascript android webview
我试图从webview中调用html页面中定义的javascript方法.函数未被调用,我在日志中看不到任何错误.
这是html文件.
</head>
<body>
<script type="text/javascript">
function callJS(){
$.ajax({url:"http://10.0.2.2:5010"});
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是android中一个Activity中的Java代码
WebView webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/temp.html");
webView.loadUrl("javascript:callJS()");
Run Code Online (Sandbox Code Playgroud)
不知道如何调试这个.当我onload=callJS()在html中添加一个body标签时,我看到正在进行远程调用.所以,看起来我的HTML很好,它正被加载到webview中.但是,webview无法直接调用javascript方法.
您应该在加载页面时执行javascript函数
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
webView.loadUrl("javascript:callJS()");
}
});
Run Code Online (Sandbox Code Playgroud)
当你加入onload=callJS()意味着在加载页面时将调用javascript函数.对于调试,你可以将console.log("你的文字在这里")放在你的javascript函数中,你将在你的android工作室日志中得到它.(通常与标签I/chromium).否则,您可以在Android上使用Chrome进行远程调试.这里的文档https://developer.chrome.com/devtools/docs/remote-debugging.
| 归档时间: |
|
| 查看次数: |
13452 次 |
| 最近记录: |