记录app端嵌入式H5页面

1、判断终端是安卓端还是IOS端

    varu =navigator.userAgent;

    varisAndroid = u.indexOf('Android') > -1|| u.indexOf('Adr') > -1;//android终端

    varisiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);//ios终端

2、

2-1、ios端回调代码(固定的)

if(isiOS){

/*这段代码是固定的,必须要放到js中*/

functionsetupWebViewJavascriptBridge(callback) {

if(window.WebViewJavascriptBridge) {returncallback(WebViewJavascriptBridge);}

if(window.WVJBCallbacks) {returnwindow.WVJBCallbacks.push(callback);}

window.WVJBCallbacks= [callback];

varWVJBIframe =document.createElement('iframe');

WVJBIframe.style.display='none';

WVJBIframe.src='wvjbscheme://__BRIDGE_LOADED__';

document.documentElement.appendChild(WVJBIframe);

setTimeout(function() {document.documentElement.removeChild(WVJBIframe) },0)

}

/*与OC交互的所有JS方法都要放在此处注册,才能调用通过JS调用OC或者让OC调用这里的JS*/

setupWebViewJavascriptBridge(function(bridge) {

document.getElementById('enjoy').onclick =function() {

bridge.callHandler('game',{'data':kuang.innerHTML},functionresponseCallback(responseData) {

// alert("111");

console.log("OC中返回的参数:",responseData)

});

};

})

}


2-2、安卓端回调(enjoy为 HTML DOM对象)

enjoy.onclick =function() {

if(isAndroid){

window.jsObj.HtmlcallJava2(kuang.innerHTML);

}

console.log('触发了分享按钮');

//bridge.callHandler('game', {'blogdURL': 'weidsfdl'},function(response) {})

};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 随着移动APP的快速迭代开发趋势,越来越多的APP中嵌入了html网页,但在一些大中型APP中,尤其是电商类APP...
    一只大橘阅读 2,616评论 0 1
  • 因为项目需要做一个活动,而这个活动的信息是源于HTML5写的,而这个操作网页的过程上, 是需要到与原生APP这边交...
    贝勒老爷阅读 469评论 3 5
  • 昨晚我从洗衣机里抱出一大堆衣服准备晾,旭大宝一向都是葛优躺的边抽烟边打游戏,突然他跑过来帮我一起把衣服挂好...
    Mee__阅读 292评论 0 0
  • 文稿 | 南汐 互联网金融的发展速度之快,越来越多的人选择网上贷款,网上贷款的平台,层出不穷,那么如何在众多的公司...
    1cd960e2ba97阅读 281评论 0 1
  • 公司在之前进行存管对接后,对内部架构进行了细分,业务逻辑也比之前复杂了不少,由此数据库文档的必要性显得十分重要;组...
    天驱丶阅读 1,015评论 0 0