vue,uiapp 开发中js和iOS原生之间的通信

在使用uniapp开发的时候,uniapp是跨端解决方案,我的项目是开发成web页面,供App端使用,在其中需要和原生之间交换数据,出现了几个问题

  1. iOS WKWebView和js 交互的文档很多,但是写了以后,在js代码里面执行
    window.webkit.messageHandlers.OnLineCollectionFun.postMessage({ messageId: '2444' });总是提示webkitunderfine的,,我开始的时候,在iOS端增加了webkit.frame这两个框架,运行以后,就不提示错误了,但是我再次去掉这个框架以后,也不报错了,不知道是什么原因, 我建议是可以卸载重装App,清除一些缓存,在调试的过程中,总是发现代码更新不及时,第一次reload没效果,多试几次以后就可以了。
    WKWebView和js 交互
    此外还可以用这个库,实现交互的功能
    WebViewJavascriptBridge
  2. 上面说的是js,但是uniapp怎么和iOS通信呢,因为uniapp就是用Vue开发的,所以我参考了Vue的实现方法
    App.vue文件里面
<script>
	export default {
		onLaunch: function() {
			console.log('App Launch')
			try {
			    uni.setStorageSync('storage_key', 'hello');
			} catch (e) {
			    // error
			}
			// uni.setStorageSync('testMessageKey',window.webkit)
			
			window.webkit.messageHandlers.OnLineCollectionFun.postMessage({ messageId: '2444' });
		},
		methods:{
			addList:function(message) {
			    // consule.log(message);
				uni.setStorageSync('testMessageKey',message)
			},
		},
		mounted(){
			window.addList = this.addList;
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

参考Vue通信

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值