android在调用js中的alert无效
1、注册网络权限
<uses-permission android:name="android.permission.INTERNET" />
2、webView获取Settings,设置支持js
settings.setJavaScriptEnabled(true);
3、setWebChromeClient(WebView类中)辅助处理js
bridgeWebView.setWebChromeClient(new WebChromeClient(){ @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } });
在webView的时候,记得清理缓存,不然会一直缓存之前的html,导致改变了html在手机端无效
WebSettings settings = bridgeWebView.getSettings(); settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
类似timeout,confirm都需要类似的配置
//允许页面定位 settings.setGeolocationEnabled(true); //允许网页弹对话框 settings.setJavaScriptCanOpenWindowsAutomatically(true); //加快页面加载完成的速度,等页面完成在加载图片 settings.setLoadsImagesAutomatically(true); //开启localStorage settings.setDomStorageEnabled(true); //设置支持javascript,本地DOM储存(解决加载某些网页出现白板现象) settings.setJavaScriptEnabled(true); //进行缩放 settings.setBuiltInZoomControls(true); //设置userAgent settings.setUserAgentString(bridegWebView.getSettings().getUserAgentString + "app")(true); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){ //解决android5.9上webview默认不允许加载http与https混合内容 bridgeWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW) }