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

js调用ios和安卓方法

安卓:

 

[html] view plain copy
 
在CODE上查看代码片派生到我的代码片
  1. window.AndroidWebView.方法名(参数);  
[html] view plain copy
 
在CODE上查看代码片派生到我的代码片
  1. window.AndroidWebView.productDetail(1989);  

ios:
[html] view plain copy
 
在CODE上查看代码片派生到我的代码片
  1. function isbrowser() {  
  2.          // 浏览器判断  
  3.          return window.browser = {  
  4.              versions: function () {  
  5.                  var u = navigator.userAgent,  
  6.                          app = navigator.appVersion;  
  7.                  return { //移动终端浏览器版本信息  
  8.                      trident: u.indexOf('Trident') > -1, //IE内核  
  9.                      presto: u.indexOf('Presto') > -1, //opera内核  
  10.                      webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核  
  11.                      gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核  
  12.                      mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端  
  13.                      ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端  
  14.                      android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器  
  15.                      iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器  
  16.                      iPad: u.indexOf('iPad') > -1, //是否iPad  
  17.                      webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部  
  18.                  };  
  19.              }(),  
  20.              language: (navigator.browserLanguage || navigator.language).toLowerCase()  
  21.   
  22.          };  
  23.      }  
[html] view plain copy
 
在CODE上查看代码片派生到我的代码片
  1. var productDetail;  
[html] view plain copy
 
在CODE上查看代码片派生到我的代码片
  1.   function InitWebViewJavascriptBridge(callback) {  
  2.            var ua = window.navigator.userAgent.toLowerCase();  
  3.            if (window.AndroidWebView || !isbrowser().versions.ios || ua.match(/MicroMessenger/i) == 'micromessenger') {  
  4.                return;  
  5.            }  
  6.   
  7.            function _callback(bridge) {  
  8.                window.WebViewJavascriptBridge = bridge;  
  9.                if (callback) callback(bridge);  
  10.            }  
  11.   
  12.            if (window.WebViewJavascriptBridge) {  
  13.                _callback(WebViewJavascriptBridge);  
  14.                return;  
  15.            }  
  16.   
  17.            if (window.WVJBCallbacks) {  
  18.                window.WVJBCallbacks.push(_callback);  
  19.                return;  
  20.            }  
  21.   
  22.            window.WVJBCallbacks = [_callback];  
  23.            var WVJBIframe = document.createElement('iframe');  
  24.            WVJBIframe.style.display = 'none';  
  25.            WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';  
  26.            document.documentElement.appendChild(WVJBIframe);  
  27.            setTimeout(function () {  
  28.                document.documentElement.removeChild(WVJBIframe)  
  29.            }, 0)  
  30.        }  
  31.        InitWebViewJavascriptBridge(function (bridge) {  
  32.   
  33.            productDetail = function (id) {  
  34. //注入handlerName为IOSEventClick  
  35.               bridge.callHandler('IOSEventClick', {  
  36.                    code: id,  
  37.                    type: "productDetail",  
  38.   
  39.                }, function (responseData) {  
  40.                    // log('IOSEventClick', responseData);  
  41.                })  
  42.            }  
  43.   
  44.        }); 

相关文章:

  • Discuz!NT v1.0 正式版发布
  • GLEW扩展库【转】
  • JDBC 调用存储过程
  • java web项目修改favicon.ico图标的方式
  • 字符串查找算法总结(暴力匹配、KMP 算法、Boyer-Moore 算法和 Sunday 算法)
  • $$$$GB2312-80区位编码表$$$$
  • CFD使用者应当了解的一些事情
  • C# 进程同步,通信
  • 第三份CS地图--沙漠之战
  • 构建基于分布式SOA架构的统一身份认证体系
  • 傻瓜式Linux之三:安装软件
  • Python 3.5 socket OSError: [Errno 101] Network is unreachable
  • 华章1-2月份新书简介(2017年)
  • 专业网站打包/解包asp工具(E文精装版本)!
  • 【健康医疗】4步完成数据分析报表,让医疗数据转化为生产力
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 10个确保微服务与容器安全的最佳实践
  • 2017 年终总结 —— 在路上
  • 78. Subsets
  • JAVA_NIO系列——Channel和Buffer详解
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • node 版本过低
  • 从0实现一个tiny react(三)生命周期
  • 多线程 start 和 run 方法到底有什么区别?
  • 聊一聊前端的监控
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前嗅ForeSpider采集配置界面介绍
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 使用 Docker 部署 Spring Boot项目
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 优化 Vue 项目编译文件大小
  • 正则与JS中的正则
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 从如何停掉 Promise 链说起
  • #Java第九次作业--输入输出流和文件操作
  • (HAL库版)freeRTOS移植STMF103
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net 验证控件和javaScript的冲突问题
  • .Net8 Blazor 尝鲜
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET中的十进制浮点类型,徐汇区网站设计
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • /etc/shadow字段详解
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ Linux Audio 篇 ] 音频开发入门基础知识