您的位置:

js中调用java的方法,java调用js代码 实例

js中调用java的方法,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();

如何在JAVASCRIPT调用Android JAVA函数

首先是网页:

%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%  

!DOCTYPE HTML  

html  

head  

meta http-equiv="Content-Type" content="text/html; charset=UTF-8"  

titlejs和android相互调用/title  

head  

  

script type="text/javascript" language="javascript"  

    //调用java方法jsCallJava()  

    function showHtmlcallJava() {  

        var str = window.android.jsCallJava();  

        document.getElementById("info1").value = str;  

    }  

  

    //调用java方法jsCallJavaWithParams(String var),带参数  

    function showHtmlcallJava2() {  

        var str = window.android.jsCallJavaWithParams("Devin Chen");  

        document.getElementById("info2").value = str;  

    }  

  

    //提供给java调用的方法  

    function show() {  

        document.getElementById("id_input").value = "Java调用Html中的方法";  

    }  

  

    //提供给java调用的方法,带参数  

    function showWithParam(param) {  

        document.getElementById("id_input2").value = "Java调用Html中的方法: " + param;  

    }  

/script  

/head  

  

body  

    input id="info1" style="width: 90%" type="text" value="null" /br  

    input type="button" value="Html调用Java方法" onclick="showHtmlcallJava()" /br  

    input id="info2" style="width: 90%" type="text" value="null" /br  

    input type="button" value="Html调用带参数的Java方法" onclick="showHtmlcallJava2()" /br  

    input id="id_input" style="width: 90%" type="text" value="null" /br  

    input type="button" value="Java调用Html方法" onclick="window.android.javaCallJavaScript()" /br  

    input id="id_input2" style="width: 90%" type="text" value="null" /br  

    input type="button" value="Java调用带参数的Html方法" onclick="window.android.javaCallJavaScriptWithParams()" /  

/body  

/html

Android部分的布局就一个WebView,MainActivity源代码:

/** 

 * java方法和javascript方法的相互调用 

 */  

public class MainActivity extends AppCompatActivity {  

    private static final String url = "";  

    private WebView mWebView;  

  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.activity_main);  

        initView();  

    }  

  

    private void initView() {  

        mWebView = (WebView) findViewById(R.id.web_main);  

        WebSettings settings = mWebView.getSettings();  

        settings.setJavaScriptEnabled(true);  

        settings.setDefaultTextEncodingName("utf-8");  

        mWebView.loadUrl(url);  

        mWebView.setWebViewClient(new WebViewClient());  

        //这两句是必须的,"android"就是jsp中调用方法时window后面的对象  

        Object obj = getObject();  

        mWebView.addJavascriptInterface(obj, "android");  

    }  

  

    private Object getObject() {  

  

        Object obj = new Object() {  

            /** 

             * html中的JavaScript调用Java方法 

             * 注解是必须的 

             * @return 

             */  

            @JavascriptInterface  

            public String jsCallJava() {  

                return "JavaScript调用Java方法";  

            }  

  

            /** 

             * html中的JavaScript调用带参数的Java方法 

             * 注解是必须的 

             * @return 

             */  

            @JavascriptInterface  

            public String jsCallJavaWithParams(String var) {  

                return "JavaScript调用带参数的Java方法" + var;  

            }  

  

            /** 

             * java调用html中的方法,遗憾的是不知道有什么办法可以拿到返回值 

             */  

            @JavascriptInterface  

            public void javaCallJavaScript() {  

                runOnUiThread(new Runnable() {  

                    @Override  

                    public void run() {  

                        mWebView.loadUrl("javascript:show()");  

  

                    }  

                });  

            }  

  

            /** 

             * java调用html中的方法,并且传递参数,这个有大用 

             */  

            @JavascriptInterface  

            public void javaCallJavaScriptWithParams() {  

                runOnUiThread(new Runnable() {  

                    @Override  

                    public void run() {  

                        mWebView.loadUrl("javascript:showWithParam('baoge')");  

                    }  

                });  

            }  

  

        };  

        return obj;  

    }  

}

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

js中调用java的方法,java调用js代码 实例

本文目录一览: 1、怎么实现javascript中调用java类中的方法 2、如何在JAVASCRIPT调用Android JAVA函数 3、js怎么调用JAVA方法 怎么实现javascript中调

2023-12-08
java调用js代码,java调用js代码 实例

本文目录一览: 1、如何在java中调用js方法 2、如何通过java代码调用js 3、java中怎么调用js代码 4、如何在java调用js 5、请问怎么写java调用node环境运行js代码? 如

2023-12-08
java调用js,java调用js方法

2023-01-07
js调用java,js调用java类中的方法

2022-11-30
js与java调用,java 调用 js

2022-11-24
java调用js,java调用js脚本

2022-11-28
java调用js脚本语言(java调用js代码 实例)

本文目录一览: 1、java程序中运行js脚本 2、如何在java中调用js方法 3、java怎么调用javascript java程序中运行js脚本 我们要在Java中执行JavaScriptMet

2023-12-08
java里可以调用js里的参数吗,js调用java方法

本文目录一览: 1、java 调用 js函数 2、java怎么调用javascript 3、如何在java中调用js方法 4、java如何调用js里的变量 java 调用 js函数 function是

2023-12-08
java调用js,java调用json接口

2023-01-09
js调用android原生代码,js调用Android

本文目录一览: 1、Android AgentWeb Android和Js交互 2、JS怎样调用Android本地原生方法 3、原生APP中js怎样与Android和ios进行交互 4、JS 调用an

2023-12-08
js中调用java类的方法,javascript调用java

本文目录一览: 1、怎么在js调用java方法 2、怎么实现javascript中调用java类中的方法 3、js怎么调用java 类中方法? 怎么在js调用java方法 如果你是在JSP页面里,在j

2023-12-08
java中调用js脚本(java中调用js脚本获取结果)

本文目录一览: 1、如何在java中调用js方法 2、java怎么调用javascript 3、java程序中运行js脚本 如何在java中调用js方法 在Java中调用js文件中的function,

2023-12-08
js代码中script,js代码中的问号是什么意思

本文目录一览: 1、javascript中script的SRC属性 2、JS代码里加载script代码,并隐藏其内容怎么弄呢? 3、使用javascript必须使script标签吗 javascrip

2023-12-08
js调用linux脚本,js调用linux命令

2022-11-24
javajs命令(js调用java)

本文目录一览: 1、请问怎么写java调用node环境运行js代码? 2、java课程分享JavaScript代码测试必备的12款工具 3、java程序中运行js脚本 4、如何通过java代码调用js

2023-12-08
重学java笔记,java笔记总结

2022-11-23
网站js调用代码(网站js调用代码是什么)

本文目录一览: 1、调用JS代码怎么写 2、如何在html中调用js代码 3、求助:HTML点击按钮调用JS文件或者直接调用JS代码? 调用JS代码怎么写 1、建立JS文件。把原本JS代码除SCRIP

2023-12-08
调用网页js文件,html文件调用js文件中的方法

本文目录一览: 1、怎样在页面中调用js文件 2、网页里是如何调用js的 3、在html网页中怎样调用js文件? 4、jsp页面中调用js文件中的方法如何实现 5、求助:HTML点击按钮调用JS文件或

2023-12-08
java中使用js处理数据,js获取java变量

本文目录一览: 1、java程序中运行js脚本 2、java使用js处理逻辑 3、如何在java中调用js方法 java程序中运行js脚本 123456789101112131415161718192

2023-12-08
安卓js调用java保存文件在本地(java下载文件夹到本地

本文目录一览: 1、JS怎样调用Android本地原生方法 2、如何在android平台上使用js直接调用Java方法 3、在Android上怎样实现JAVA和JS交互 4、在android中怎样调用

2023-12-08