「js和java的交互」javascript和java关系
今天给各位分享js和java的交互的知识,其中也会对javascript和java关系进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、怎么实现javascript中调用java类中的方法
- 2、js怎么调用JAVA方法
- 3、webview js 与 java 交互
- 4、在Android上怎样实现JAVA和JS交互
- 5、Java和JS之间的交互有哪几种
怎么实现javascript中调用java类中的方法
为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制。只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上。
1、映射Java对象到JavaScript对象上
代码如下:
mWebView = (WebView) findViewById(R.id.wv_content);
mWebView.setVerticalScrollbarOverlay(true);
final WebSettings settings = mWebView.getSettings();
settings.setSupportZoom(true);
//WebView启用Javascript脚本执行
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
//映射Java对象到一个名为”js2java“的Javascript对象上
//JavaScript中可以通过"window.js2java"来调用Java对象的方法
mWebView.addJavascriptInterface(new JSInvokeClass(), "js2java");
代码如下:
/**网页Javascript调用接口**/
class JSInvokeClass {
public void back() {
activity.finish();
}
}
2、JavaScript调用Java对象示例
调用上述JSInvokeClass类对象的back方法,如下:
复制代码 代码如下:
window.js2java.back();
js怎么调用JAVA方法
一般的浏览器中是无法通过js调用本地java程序的,但是可以调用嵌入到网页的applet的方法。交互方式如下:
applet codebase = "." width = "400" height = "400"
name= "MyApplet" code = "test.applets.MyApplet1.class"
script
// js访问applet属性:document.appletName.appletField (属性必须是public的)
// js访问Applet方法:document.appletName.appletMethod (方法必须是public的)
function showLable{
// 调用test.applets.MyApplet1类的invokeByJS方法
document.applets["MyApplet"].invokeByJS('myvalue');
}
/script
webview js 与 java 交互
可以,只要你是用webview打开的,那么不管事远程还是本地,都可以通过webview与app的本地java代码进行交互。没有任何区别。
1、webview必须设置支持Javascript
mWebview.getSettings().setJavaScriptEnabled(true);
2、加进一个回调的代理类JavaScriptInterface,并给它一个调用的名称:ncp
mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp");
final class JavaScriptInterface {
public int callOnJs() {
return 1000;
}
public void callOnJs2(String mode) {
//TODO
}
}
3、JS页面
script type="text/javascript"
window.onload = function(){
document.getElementById('btn_1').addEventListener('click', onBtnClick, false);
var _int_value = window.ncp.callOnJs();
alert("get int from java:" + _int_value );
}
function onBtnClick() {
window.ncp.callOnJs2("click");
}
/script
接下来就可以调用js方法了,
1、Java调用js方法
mWebView.loadUrl("javascript:onSaveCallback()");
2、JS访问java方法
window.ncp.callOnJs2("click");
在Android上怎样实现JAVA和JS交互
完全讲完的话比较多,我就不讲太细,有两种实现方式
1、使用原生的webview 和js交互
2、第二种方式是用第三方框架,这个框架一定要选好,要js android ios都能用 不然最后会发现这个能交互那个不能,代码需要些两套
我上个项目用的:'com.gzsll.jsbridge:library:1.0.0'
具体用法可以百度到
Java和JS之间的交互有哪几种
问的问题本身就是错误的,没有所谓的js与java交互,只有浏览器与服务器交互,无论是传统页面跳转还是ajax都是浏览器与服务器交互。js可以被其它浏览器脚本语言替代,java也可以被其它服务器语言替代。作为语言本身,并不与另外语言有所交集。
本质上都是http请求,一个请求分为请求行、请求头、和请求体
js和java的交互的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javascript和java关系、js和java的交互的信息别忘了在本站进行查找喔。