大佬教程收集整理的这篇文章主要介绍了Hybrid,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_197_83@
@H_403_176@
// schema协议简介和使用 // 以下是演示,无法正常运行,微信有严格的权限验证,外部页面不能随意使用scheR_516_11845@a var iframe = document.createElement(‘iframe‘); iframe.style.display = ‘none‘; iframe.src = ‘weixin://dl/scan‘; //iframe访问scheR_516_11845@a var body = document.body || document.getElementsByTagName(‘body‘)[0]; body.appendChild(iframe); setTimeout(function() { body.removeChild(iframe); //销毁iframe iframe = null; })
// 如果要加上参数和callBACk,那么就要这么写 window[‘_weixin_scan_callBACk‘] = function(result) { alert(result); } // ..省略 iframe.src = ‘weixin://dl/scan?k1=v1&k2=v2&callBACk=_weixin_scan_callBACk‘ // ..省略
scheR_516_11845@a协议的封装
新建invoke.js
(function(window) { // 跳用scheR_516_11845@a的封装 function _invoke(action, data, callBACk) { // 拼装scheR_516_11845@a协议 var schema = ‘myapp://utils/‘ + action; // 拼接参数 schema += ‘?a=a‘; var key; for (key in data) { if (data.hasOwnProperty(key)) { schema += ‘&‘ + key + data[key]; } } // 处理callBACk var callBACkName = ‘‘; if (typeof callBACk === ‘String‘) { callBACkName = callBACk; } else { callBACkName = action + @H_258_607@Date.Now(); window[callBACkName] = callBACk; } schema += ‘&callBACk=‘ + callBACkName; // 触发 var iframe = document.createElement(‘iframe‘); iframe.style.display = ‘none‘; iframe.src = schema; //重要 var body = document.body || document.getElementsByTagName(‘body‘)[0]; body.appendChild(iframe); setTimeout(function() { body.removeChild(iframe); //销毁iframe iframe = null; }) } // 暴露到全局变量 window.invoke = { share: function(data, callBACk) { _invoke(‘share‘, callBACk) }, scan: function
以上是大佬教程为你收集整理的Hybrid全部内容,希望文章能够帮你解决Hybrid所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。