博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js与ios桥接使用WebViewJavascriptBridge简单理解
阅读量:6587 次
发布时间:2019-06-24

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

function setupWebViewJavascriptBridge(callback) {    if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); }    if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); }    window.WVJBCallbacks = [callback];    var WVJBIframe = document.createElement('iframe');    WVJBIframe.style.display = 'none';    WVJBIframe.src = 'https://__bridge_loaded__';    document.documentElement.appendChild(WVJBIframe);    setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0)}Finally, call setupWebViewJavascriptBridge and then use the bridge to register handlers and call ObjC handlers:setupWebViewJavascriptBridge(function(bridge) {        /* Initialize your app here */    bridge.registerHandler('JS Echo', function(data, responseCallback) {        console.log("JS Echo called with:", data)        responseCallback(data)    })    bridge.callHandler('ObjC Echo', {'key':'value'}, function responseCallback(responseData) {        console.log("JS received response:", responseData)    })})

 

github地址如上

工作中用到了这个桥接,出现了很多问题,

首先,初始化了这个函数之后,然后调用这个函数,调用ios端定义的handler或者js 注册自己的handler,

但是好像不可以写多个该函数的调用,否则所有写的交互不生效。

那么我如果想调用ios定义的多个函数,只能写在一个调用里,罗列多个

bridge.registerHandler 和
bridge.callHandler来写了。 目前还是出现了个别交互不生效的问题。
registerHandler 就是在网页端定义一个函数,获取后端返回的相应参数,后端调用使用
callHandler  就是在ios端定义一个函数,网页端调用,传过去相应参数。
  我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=dd4qxupt8clk
 

转载地址:http://nohno.baihongyu.com/

你可能感兴趣的文章
Hive之行转列/列转行
查看>>
Android--Handler的使用方法:在子线程中更新界面
查看>>
阐述Spring框架中Bean的生命周期?
查看>>
Java 面向对象 之 对象引用 this的引用
查看>>
虚拟内存管理
查看>>
从零开始系列汇总
查看>>
注水、占坑、瞎掰:起底机器学习学术圈的那些“伪科学”
查看>>
大数据小视角1:从行存储到RCFile
查看>>
C# 获取程序的三种版本
查看>>
JavaScript常用设计模式
查看>>
eNSP华为模拟器使用——(7)eNSP模拟帧中继交换机
查看>>
第18天:京东网页头部制作
查看>>
Android RecyclerView批量更新notifyItemRangeChanged
查看>>
.NET Core中延迟单例另一种写法【.NET Core和.NET Framework的beforefieldinit差异】
查看>>
懒加载和预加载
查看>>
好消息:Dubbo & Spring Boot要来了
查看>>
面向对象封装的web服务器
查看>>
linux下安装python3.6
查看>>
pytorch新手需要注意的隐晦操作Tensor,max,gather
查看>>
开启“互联网+”模式打造智能移动APP巡检系统
查看>>