//js调用android方法
//android调用js方法(loginIn:方法名称,uname:参数)
//activity.loadUrl("javascript:loginIn('" + uname + "')")
//②js与ios交互
//js调用ios方法(objc:协议)
window.location.href='objc://方法名称|参数1|参数2'
//ios调用js方法:
同android
其中:android的activity如下:
@Overridepublic void onCreate(Bundle savedInstanceState) {
// setFullScreen(true)
Intent intent = new Intent(getApplicationContext(),
SplashActivity.class)
startActivity(intent)
super.onCreate(savedInstanceState)
super.init()
// Set by <content src="index.html" /> in config.xml
activity = this
// this.appView.setBackgroundResource(R.drawable.welcome)// 设置背景图片
//
// super.setIntegerProperty("splashscreen", R.drawable.welcome)
// 设置闪屏背景图片
// super.setBooleanProperty(name, value)
// super.loadUrl("这里是html页面的路径")
super.appView.addJavascriptInterface(new Fu(), "这里是类名(js中需要通过这个类名访问android方法)")
super.loadUrl(Config.getStartUrl())
// super.loadUrl("file:///android_asset/www/index.html")
// mController.openShare(activity, false)
// try {
// getToken()
// } catch (NoSuchAlgorithmException e) {
// // TODO Auto-generated catch block
// //e.printStackTrace()
// }
}
IOS中webview与JS交互的代码:[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script')"
"script.type = 'text/javascript'"
"script.text = \"function myFunction() { "
"var field = document.getElementsByName('word')[0]"
"field.value='测试'"
"document.forms[0].submit()"
"}\""
"document.getElementsByTagName('head')[0].appendChild(script)"]
[webView stringByEvaluatingJavaScriptFromString:@"myFunction()"]
上面的代码是把JS代码写入到html网页中,然后执行函数,实现JS中的功能。
通过 stringByEvaluatingJavaScriptFromString 函数,可以实现webview强大的交互功能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)