网贷网站,郭德纲最新济公传,徐智慧整容
方案背景
ios实现方案
调用原生方法封装如下
function setupwebviewjavascriptbridge (callback) { if (window.webviewjavascriptbridge) { return callback(window.webviewjavascriptbridge) } if (window.wvjbcallbacks) { return window.wvjbcallbacks.push(callback) } window.wvjbcallbacks = [callback] let wvjbiframe = document.createelement('iframe') wvjbiframe.style.display = 'none' wvjbiframe.src = 'https://__bridge_loaded__' document.documentelement.appendchild(wvjbiframe) settimeout(() => { document.documentelement.removechild(wvjbiframe) }, 0) } function callhandler (name, data, callback) { setupwebviewjavascriptbridge(function (bridge) { bridge.callhandler(name, data, callback) }) }
实际调用如下
callhandler(functionname: string, params: object, res => {})
注册方法给原生
registerhandler (name, callback) { // 安卓 window[name] = res => { let data = json.parse(res) callback(data) } // ios setupwebviewjavascriptbridge(function (bridge) { bridge.registerhandler(name, function (data, responsecallback) { callback(data, responsecallback) }) }) }
安卓实现方案
调用原生方法
window.http_test.functionname()
定义回调方法/注册方法给原生
window['functionname'] = res => {}
特殊说明
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
VUE+elementui组件在table-cell单元格中绘制微型echarts图
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
vue 路由懒加载中给 Webpack Chunks 命名的方法
网友评论