h5页面与原生ios交互

news/2024/7/24 0:51:56

app中有的是用h5页面来实现的,这个时候就避免不了与原生去交互。交互的方式
①、系统原生的方式 (我们项目中使用的)
②、用第三方库WebViewJavascriptBridge (比较早了,一直没有更新维护)

ios使用原生的方式与h5页面交互,在h5页面中实现起来也比较方便,如下:

let u = navigator.userAgent;
//android终端或者uc浏览器
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
//ios终端
let isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X)/);
if(isiOS){
// 假设方法名为: JSMessageName;postMessage里面可以传参数
    window.webkit.messageHandlers.JSMessageName.postMessage(['13300001111', 'Go Climbing This Weekend !!!'])
}else if(isAndroid){
    //安卓相关操作
}

http://www.niftyadmin.cn/n/1770306.html

相关文章

什么是promise?promise的作用是什么?

什么是promise? 1、主要用于异步计算 2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果 3、可以在对象之间传递和操作promise,帮助我们处理队列 为什么会有promise 为了避免界面冻结(任务&#xff0…

Promise.all和Promise.race的使用

一、Promise.all的使用 Promise.all可以将多个promise实例包装成一个新的promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个数组,失败的时候返回最先reject失败状态的值。 let p1 new Promise((resolve, reject) >…

axios是什么?为什么要进行二次封装?

一、axios Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 用法demo: ①、get请求 axios.get(/user?ID12345).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});①、post请求 axios.pos…

vue-cli初始化项目

初始化项目时首先要弄清楚vue-cli的版本 一、3.0以下版本命令 1、首先安装vue-cli,输入命令: cnpm install -g vue-cli2、初始化项目,输入命令 vue init webpack my-project二、3.0以上版本(推荐使用) 1、首先安装vu…

vue build打包出现“TypeError: Cannot read property ‘tapPromise‘ of undefined”的报错

使用VUE执行npm run build 进行打包时出现了TypeError:Cannot read property ‘tapPromise‘ of undefined问题,检查后发现是compression-webpack-plugin插件版本问题导致的,解决方案如下: 项目中compression-webpack-plugin 安装的版本是 7…

Vue/cli4配置测试环境

一、使用Vue/cli4创建项目之后,打开package.json查看npm run命令只有三个命令,如下: npm run serve: 开发环境 npm run build: 生产环境 npm run lint: 貌似是针对eslint 二、这个时候发现只有开发和生产环境并没有测试环境,接下…

vue 使用amfe-flexible + postcss-pxtorem,适配移动端并px自动转rem

一、vue-cli初始化项目后实现适配: 1、首先安装postcss-pxtorem,输入命令: cnpm install postcss-pxtorem --D2、安装amfe-flexible,输入命令: cnpm install amfe-flexible --D3、安装完成之后在全局注册一下&#x…

h5页面自定义特殊字体

有时候在做页面的时候,需要用到特殊字体,步骤如下: 1、首先将字体库放入到项目中,如test.ttf(这里是我随便起的名) 2、然后在样式表定义,声明字体样式,命名为test1,如下&…