当前位置: 首页 > wzjs >正文

asp网站浏览器兼容个人网站例子

asp网站浏览器兼容,个人网站例子,wordpress 加密连接,公司网站域名查询在 Android 开发中,JavaScript(JS)调用原生 Android 接口主要通过 WebView 组件实现。以下是常见的 3 种核心方式及具体实现逻辑: 1 1. addJavascriptInterface 注入接口​​ ​​原理​​:通过 WebView 向 JS 暴露…

在 Android 开发中,JavaScript(JS)调用原生 Android 接口主要通过 WebView 组件实现。以下是常见的 3 种核心方式及具体实现逻辑:

1

1. addJavascriptInterface 注入接口​

​原理​​:通过 WebView 向 JS 暴露一个 Java 对象,JS 可直接调用该对象中被 @JavascriptInterface 注解标记的方法
​步骤​​:

  • ​定义接口类​​:
    public class WebAppInterface {Context mContext;WebAppInterface(Context c) { mContext = c; }@JavascriptInterfacepublic void showToast(String msg) {Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show();}
    }
  • ​注入接口到 WebView​​:
    webView.getSettings().setJavaScriptEnabled(true);
    webView.addJavascriptInterface(new WebAppInterface(this), "AndroidBridge");
  • ​JS 调用​​:
    window.AndroidBridge.showToast("Hello from JS!");

​注意事项​​:

  • ​安全风险​​:若未使用 @JavascriptInterface 注解,可能导致任意方法被调用(如系统敏感 API)
  • ​API 版本​​:需最低支持 API 17(Android 4.2)

​2. 拦截 WebChromeClient 对话框​

​原理​​:通过重写 WebChromeClient 的对话框回调方法(如 onJsPrompt),解析 JS 发送的指令
​步骤​​:

  • ​自定义 WebChromeClient​​:
    webView.setWebChromeClient(new WebChromeClient() {@Overridepublic boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {if (message.startsWith("native:")) { // 协议约定handleNativeCall(message); // 解析并执行原生逻辑result.confirm("success"); // 返回结果给 JSreturn true;}return super.onJsPrompt(view, url, message, defaultValue, result);}
    });
  • ​JS 调用​​:
    prompt("native:showToast", "{'msg':'Hello'}"); // 通过 prompt 发送指令

​适用场景​​:

  • 需要双向通信(JS 可获取原生返回值);
  • 兼容低版本 Android(无需依赖 @JavascriptInterface

​3. 拦截 URL Scheme​

​原理​​:JS 触发特定格式的 URL 请求(如 myapp://action?params),Android 通过 shouldOverrideUrlLoading 拦截并处理
​步骤​​:

  • ​自定义 WebViewClient​​:
    webView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if (url.startsWith("myapp://")) { // 协议约定parseUrl(url); // 解析 URL 并执行对应逻辑return true; // 阻止默认加载}return super.shouldOverrideUrlLoading(view, url);}
    });
  • ​JS 调用​​:
    window.location.href = "myapp://showToast?msg=Hello"; // 或通过 iframe 触发

​优缺点​​:

  • ​优点​​:兼容性最好(支持所有 Android 版本);
  • ​缺点​​:仅支持单向调用(JS 无法直接获取原生返回值)

​安全建议​

  1. ​输入校验​​:对 JS 传递的参数进行严格校验,防止注入攻击
  2. ​最小权限原则​​:仅暴露必要的接口方法,避免敏感操作(如文件读写)
  3. ​HTTPS 加密​​:加载远程页面时使用 HTTPS,避免中间人攻击


文章转载自:

http://7sPLVwXU.xjkfb.cn
http://9SJsEqcH.xjkfb.cn
http://glhz2J3g.xjkfb.cn
http://9X51CjdQ.xjkfb.cn
http://81oAQ9S0.xjkfb.cn
http://WEJBt4V6.xjkfb.cn
http://lbpBy1wA.xjkfb.cn
http://2QvjF3yD.xjkfb.cn
http://vo5PKMYf.xjkfb.cn
http://qJ2Y9RUs.xjkfb.cn
http://4zo19UQq.xjkfb.cn
http://QpTPownd.xjkfb.cn
http://hXulRjMW.xjkfb.cn
http://A40TcV4I.xjkfb.cn
http://uuZkZ9Tq.xjkfb.cn
http://dLixbMEL.xjkfb.cn
http://N87Q9JCA.xjkfb.cn
http://rlTfJLHi.xjkfb.cn
http://QLPP6L6T.xjkfb.cn
http://rGZbGLAB.xjkfb.cn
http://exPxMnWf.xjkfb.cn
http://BFGewN5F.xjkfb.cn
http://IyyhTYzD.xjkfb.cn
http://Mdt7H4lR.xjkfb.cn
http://tadKAoyn.xjkfb.cn
http://KWTGaTxN.xjkfb.cn
http://9QXZ52Bi.xjkfb.cn
http://30y2gxEZ.xjkfb.cn
http://N12Lb10S.xjkfb.cn
http://qnP5B6XL.xjkfb.cn
http://www.dtcms.com/wzjs/654771.html

相关文章:

  • 提供服务的网站网站开发中效率较高的编程语言
  • 下载爱南宁官方网站用python做 网站论坛
  • 常州网络推广网站wordpress用七牛
  • 市建设局网站的综合业务管理平台电商物流建设网站过程
  • 网站建设案例公司推广引流最快的方法
  • 网站开发处理大量用户请求企业网站运营外包费用
  • 个人网站设计文字内容模板做装修的网站有哪些内容
  • 厦门建站程序网络营销模式有哪些
  • 网站建设需求什么功能2022年企业所得税政策
  • 诀窍的网站云南网站建设专业品牌
  • 自己电脑做网站还用备案软件技术服务包括哪些内容
  • 大一网站开发项目答辩wordpress文章分类链接
  • 300元建站河北建设工程信息网一体化平台
  • 如何自己做企业网站大学生网页设计作业代码
  • 长沙网站建设有限公司钢材网站建设
  • 男女做爰全过程的视频网站宽带
  • 网站图片被盗连怎么办啊网络推广是以企业产品或服务
  • 网站右下角浮动效果如何做泰州市做网站
  • 湛江公司网站建设drupal 和wordpress
  • 手机网站怎么做301注册网站需要房产证
  • 网站服务器信息查询我的百度账号登录
  • seo网站优化做什么七牛云域名
  • 中国建设银行手机版网站首页next.js做纯静态网站
  • 网站建设接活app杭州免费网站建站模板
  • 为什么要做一个营销型网站wordpress 菜单相册
  • 深圳本地专业网站设计衡水seo营销
  • 青岛谁优化网站做的好网站开发用linux
  • 郑州专业的网站建设公司排名网络认证登录页面
  • 佛山大良网站建设招聘做网站和做网页
  • 图列说明网站开发的流程南京专业网站设计哪个品牌