博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue 调用 ios提供的方法
阅读量:4988 次
发布时间:2019-06-12

本文共 1898 字,大约阅读时间需要 6 分钟。

各种百度之后,在别的站看到一篇文章,介绍可以使用 WebViewJavascriptBridge与原生app进行通信;

在项目中尝试了一下,确实有效记录一下。

原文链接:

1,引入第三方WebViewJavascriptBridge的库

1     function setupWebViewJavascriptBridge(callback) { 2       if (window.WebViewJavascriptBridge) { 3         return callback(window.WebViewJavascriptBridge) 4       } 5       if (window.WVJBCallbacks) { 6         return window.WVJBCallbacks.push(callback) 7       } 8       window.WVJBCallbacks = [callback] 9       let WVJBIframe = document.createElement('iframe');10       WVJBIframe.style.display = 'none'11       WVJBIframe.src = 'https://__bridge_loaded__'12       document.documentElement.appendChild(WVJBIframe);13       setTimeout(() => {14         document.documentElement.removeChild(WVJBIframe)15       }, 0)16     }17     export default {18       callhandler(name, data, callback) {19         setupWebViewJavascriptBridge(function (bridge) {20           bridge.callHandler(name, data, callback)21         })22       },23       registerhandler(name, callback) {24         setupWebViewJavascriptBridge(function (bridge) {25           bridge.registerHandler(name, function (data, responseCallback) {26             callback(data, responseCallback)27           })28         })29       }30     }

新建一个js文件,把上面的代码复制粘贴就好了

2,在main.js中引入文件

import Bridge from './assets/js/bridge.js'Vue.prototype.$bridge = Bridge

3,调用方法

let ua = navigator.userAgent;            let isAndroid = ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1;            let isiOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);            // console.log(isAndroid, '安卓')            // console.log(isiOS, 'ios')            if (isiOS) {                this.$bridge.callhandler('popToStudyRootVC', (data) => {                    // 处理返回数据                    console.log(data, '我走了这里')                })            }
popToStudyRootVC:是有原生开发的同事定义的方法名

这样就完成了

 

转载于:https://www.cnblogs.com/yutianA/p/11200768.html

你可能感兴趣的文章
sql按照汉字首字母顺序排序(桃)
查看>>
Python-迭代器-生成器-1
查看>>
Short Circuit Protection Circuit
查看>>
图像(层)正常混合模式详解(上)
查看>>
Java RMI 框架_远程方法调用(2016-08-16)
查看>>
python excel导入到数据库
查看>>
应用程序池DefaultAppPool提供服务的进程关闭时间超过了限制
查看>>
数据流
查看>>
C语言 19-static和extern关键字1-对函数的作用
查看>>
2.SSH 两个表全套增删改(运动员住宿管理)
查看>>
JavaEE 要懂的小事:三、图解Session(会话)
查看>>
基于vlc的android视频播放器开发笔录
查看>>
silverlight DataGrid 模拟实现双击行事件
查看>>
将文件内容导入到MySQL中
查看>>
Centos Ping不通外网
查看>>
常用的Hql语句
查看>>
ZH奶酪:PHP (爬虫)下载图片
查看>>
类方法和静态方法
查看>>
20162315第一次实验报告
查看>>
IP地址相关运算(如VLSM,超网汇总)
查看>>