mac webview 为什么不执行JS
2017-07-31
展开全部
浏览器未开启javascript
使用的js代码有问题,webview不兼容该代码。
1) 第一个坎:WebSettings
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
2) 第二个坎: 有物
在运行脚本前,要有document对象,至少得load一个空白页
webView.loadData(“”,"text/html","UTF-8");
3)第三个坎: 异步
如果这么写是没戏的,因为第一个还没执行完呢
webView.loadData(“”,"text/html","UTF-8");
webView.loadUrl("javascript:alert('hello')");
解决这个问题。可以1)从界面按钮调用 2)延时调用。 3)在onPageFinished中调用
mWebView.setWebViewClient(new MyWebViewClient());
private class MyWebViewClient extends WebViewClient {
@Override
public void onPageFinished(WebView webView, String url) {
webView.loadUrl("javascript:"+script);
}
}
使用的js代码有问题,webview不兼容该代码。
1) 第一个坎:WebSettings
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
2) 第二个坎: 有物
在运行脚本前,要有document对象,至少得load一个空白页
webView.loadData(“”,"text/html","UTF-8");
3)第三个坎: 异步
如果这么写是没戏的,因为第一个还没执行完呢
webView.loadData(“”,"text/html","UTF-8");
webView.loadUrl("javascript:alert('hello')");
解决这个问题。可以1)从界面按钮调用 2)延时调用。 3)在onPageFinished中调用
mWebView.setWebViewClient(new MyWebViewClient());
private class MyWebViewClient extends WebViewClient {
@Override
public void onPageFinished(WebView webView, String url) {
webView.loadUrl("javascript:"+script);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询