【问题标题】:How to call java method from javascript?如何从javascript调用java方法?
【发布时间】:2015-11-13 17:57:54
【问题描述】:

我在同一目录中有一个带有小程序类的 html 文件和一个 java 文件。当我使用小程序从 javascript 调用 java 方法时,出现如下错误:

applet method is not a function

如何从javascript调用java方法?

【问题讨论】:

    标签: javascript java applet


    【解决方案1】:

    如果您的小程序名称是“myApp”。

    例如,你里面有这个方法,

    public void hi() {
    Graphics g = getGraphics();
    g.drawString("wads up", 10, 10);}
    

    你可以打电话

    <INPUT type="button" value="call method"    
    onClick = "document.appName.hi()">
    

    更新

    如果您希望在您的应用中接受参数,您需要在您的小程序代码中指定:

    String para = this.getParameter("fromPage");
    

    你可以拥有

    <PARAM name="fromPage" value="Param Sent to Applet!">
    

    从小程序标签内 将其传递给小程序

    【讨论】:

    • Graphics g = getGraphics(); 这不是在 AWT 或 Swing 中进行自定义渲染的正确方法。
    【解决方案2】:

    我有一种从 java 调用 javascript 或从 javascript 调用 java 的技术。 在网络上执行此操作:

    <a href="file:///android_asset/YourFile.html?q=true"></a>
    

    并在 java 上执行此操作:

    webview1.loadUrl("file:///android_asset/YourFile.html");
    new Timer().scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    if (webview1.getUrl().contains("?q=true")) {
                        webview1.loadUrl("file:///android_asset/YourFile.html");
                        
    // YOUR CODE HERE
                    }
                }
            });
        }
    }, 20, 20);
    

    它是如何工作的? Web 可以轻松更改 URL。 (我使用“?q = true”) 和 java 可以获取 webview 的 URL。 每 20 毫秒,java 获取 url 并检查 url 是否包含“?q = true”然后运行代码。 你也可以通过反转代码来使用java调用一个javascript函数!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-10
      • 2018-07-30
      • 1970-01-01
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      相关资源
      最近更新 更多