webview与js交互
2017-10-21 15:57
274 查看
mWebView =(WebView) findViewById(R.id.webview); WebSettings webSettings = mWebView.getSettings();
// 设置与Js交互的权限
webSettings.setJavaScriptEnabled(true);
// 设置允许JS弹窗
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
// 先载入JS代码
// 格式规定为:file:///android_asset/文件名.html
mWebView.loadUrl("file:///android_asset/javascript.html");
button = (Button) findViewById(R.id.button); button.setOnClickListener(new
View.OnClickListener() { @Override
public
void
onClick(View
v) { // 必须另开线程进行JS方法调用(否则无法调用)
mWebView.post(new
Runnable() { @Override
public
void
run()
{ // 注意调用的JS方法名要对应上
// 调用javascript的callJS()方法
mWebView.loadUrl("javascript:callJS()");
} }); } }); // 由于设置了弹窗检验调用结果,所以需要支持js对话框
// webview只是载体,内容的渲染需要使用webviewChromClient类去实现
// 通过设置WebChromeClient对象处理JavaScript的对话框
//设置响应js 的Alert()函数
mWebView.setWebChromeClient(new
WebChromeClient() { @Override
public
boolean
onJsAlert(WebView
view, String url, String message, final
JsResult result) { AlertDialog.Builder b = new
AlertDialog.Builder(MainActivity.this);
b.setTitle("Alert");
b.setMessage(message); b.setPositiveButton(android.R.string.ok, new
DialogInterface.OnClickListener() { @Override
public
void
onClick(DialogInterface
dialog, int
which) { result.confirm(); } }); b.setCancelable(false);
b.create().show(); return
true;
} });
// 设置与Js交互的权限
webSettings.setJavaScriptEnabled(true);
// 设置允许JS弹窗
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
// 先载入JS代码
// 格式规定为:file:///android_asset/文件名.html
mWebView.loadUrl("file:///android_asset/javascript.html");
button = (Button) findViewById(R.id.button); button.setOnClickListener(new
View.OnClickListener() { @Override
public
void
onClick(View
v) { // 必须另开线程进行JS方法调用(否则无法调用)
mWebView.post(new
Runnable() { @Override
public
void
run()
{ // 注意调用的JS方法名要对应上
// 调用javascript的callJS()方法
mWebView.loadUrl("javascript:callJS()");
} }); } }); // 由于设置了弹窗检验调用结果,所以需要支持js对话框
// webview只是载体,内容的渲染需要使用webviewChromClient类去实现
// 通过设置WebChromeClient对象处理JavaScript的对话框
//设置响应js 的Alert()函数
mWebView.setWebChromeClient(new
WebChromeClient() { @Override
public
boolean
onJsAlert(WebView
view, String url, String message, final
JsResult result) { AlertDialog.Builder b = new
AlertDialog.Builder(MainActivity.this);
b.setTitle("Alert");
b.setMessage(message); b.setPositiveButton(android.R.string.ok, new
DialogInterface.OnClickListener() { @Override
public
void
onClick(DialogInterface
dialog, int
which) { result.confirm(); } }); b.setCancelable(false);
b.create().show(); return
true;
} });
相关文章推荐
- 在 Mac Webview 中 Objective-c 与 JS 交互
- OC与js交互获取webview元素和赋值
- 学习笔记-Android webview和JS交互
- Android中webview和js之间的交互(转)
- android vebview与js交互 webview与网页交互
- Android开发WebView与js交互
- IOS JS交互Webview重定向
- iOS Webview与js的交互
- Android的webview加载本地html、assert内html和网络URL&&& JS与移动端webview的相互交互
- iOS与JS的交互——通过WebViewJavascriptBridge
- Android WebView和JS交互
- iOS获取webView的内容等(JS交互)
- android webview js交互 调取本地相册(兼容各个版本)并且上传到服务器端。
- HTML---android webview组件如何使用 Webview与js交互
- oc与js交互-----WKWebView
- js与webview进行交互
- JS与webview交互 js退出当前webview为例子
- android webview js交互, 响应webview中的图片点击事件
- Android webview与js的数据交互
- Android学习之WebView和JS的交互