zoukankan      html  css  js  c++  java
  • Android与WebView的JS交互

    一 JS调用Java方法,一共分为三步:

    第一步,把冰箱打开。。。

    咳咳

    第一步,允许WebView加载JS:

    webView.getSettings().setJavaScriptEnabled(true)

    第二步,编写JS接口类

    其中,注意接口类的方法需要加注解:@JavaScriptInterface且方法必须是public的

    第三步,给WebView添加JS接口类

    webView.addJavaScriptInterface(obj,name)

    二 Java调用JS方法

    直接通过WebView的loadUrl()方法

    webView.loadUrl("javascript:if(window.remote){window.remote(参数)}");

    三 chrome调试WebView

    1.打开允许调试的开关

    webView.setWebContentsDebuggingEnabled(true);//API>=19

    2.chrome运行:chrome://inspect

    三:常见错误

    1.在JS接口的回调方法中throw Exception ,APP并不会捕获到,而是webView捕获

    2.webView端不进行对象存在的判断,所以在非android环境下,window上下文可能会没有本应该有的对象字段。

    3.传递的参数类型不一致(对象和数组),所以建议统一传递String类型的值,可以是Json字符串

    4.传递空的字符串时本地收到的是undefined字符串,所以web端在字符串值可能为空时要进行判空操作

  • 相关阅读:
    服务器的小程序,可以通过浏览器访问该服务器自定义的内容
    GUI小程序---理解GUI
    迷你MyBank
    使用Scanner输入数据-读取文本数据
    文件拷贝代码模型
    File文件操作类
    链表
    ThreadLocal类使用理解
    二叉树
    比较器比较对象数组Comparable和Comparator区别
  • 原文地址:https://www.cnblogs.com/chitanta/p/9377839.html
Copyright © 2011-2022 走看看