国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

h5與native的通信函數(shù),基于url schema的做法

tolerious / 1957人閱讀

摘要:全局配置信息區(qū)域全局配置信息,方便配置工具函數(shù)定義區(qū)域全局注冊(cè)唯一的客戶端函數(shù),給端去調(diào)用客戶端必須包括處理有回調(diào)的情況下后面有用發(fā)送數(shù)據(jù)函數(shù)拼接處理使用發(fā)起給端兼容用安卓發(fā)太快有問(wèn)題封裝分享按鈕的函數(shù)具體的場(chǎng)景去調(diào)用函數(shù)是返回的數(shù)據(jù)根據(jù)

全局配置信息區(qū)域

// 全局配置信息,方便配置
var hxsConfigBridge = {
    globalBridgeName:"hxsHybrid",
    globalBridgeObject:"hxsNativeBride"
}

工具函數(shù)定義區(qū)域

window[hxsConfigBridge.globalBridgeName] =  window[hxsConfigBridge.globalBridgeName] || {};


//全局注冊(cè)唯一的客戶端函數(shù),給app端去調(diào)用客戶端
function requestHybrid ( params){

    if (! params.tagName ){
        alert("必須包括tagName");
        return;
    }

    var tt = (new Date().getTime() ) + "_"+ Math.random() + "_";

    var t = hxsConfigBridge.globalBridgeName +"_"+ params.tagName + "_" + tt;
    
    var tmpFn;

    //處理有回調(diào)的情況下
    if( params.callback ){
        tmpFn = params.callback;
        // 后面有用
        params.callbackT = t;

        window[hxsConfigBridge.globalBridgeName][t] = function (data){
            tmpFn( data)
        }
        
    }
    // 發(fā)送數(shù)據(jù)函數(shù)
    bridgePostMsg( params )
}

// 拼接處理Url
function getHybridUrl( params ){
    var k,paramStr = "",
    url = hxsConfigBridge.globalBridgeName +"://"+params.tagName,
    flag = "?";
    if( params.callback ){
        flag = "&";
        url += "?callback="+ params.callbackT
    }

    if( params.param ){
        if ( typeof params.param == "object" ){
            paramStr = JSON.stringify(params.param)
        }
        
        url = url + flag +  "param="+ encodeURIComponent(paramStr );
    }

    // hxsHybrid://?callback=callbackId
    return url;
}

// 使用iframe發(fā)起 url schema 給app端
function bridgePostMsg ( params){

    var url = getHybridUrl( params);

    //兼容ios6 用 iframe
    var ifr = document.createElement("iframe");  
    ifr.id = params.callbackId; 
    ifr.src = url;   
    ifr.onload = function() {   
        console.log("iframe onload loaded");   
    };
    
    if( navigator.userAgent.indexOf("Android") > -1 ){
        // 安卓發(fā)太快 有問(wèn)題
        setTimeout(function(){
            document.body.appendChild(ifr);  
        },10)
    }else{
        document.body.appendChild(ifr);  
    }
    
    setTimeout(function(){
        document.body.appendChild(ifr);  
        ifr.remove();
        ifr = null;
    },1000)

}


// 封裝分享按鈕的函數(shù)
window[hxsConfigBridge.globalBridgeObject] =  window[hxsConfigBridge.globalBridgeObject] || {};

window[hxsConfigBridge.globalBridgeObject].shareBtnInApp = function (param = {}, callback) {
    requestHybrid({
        tagName:"shareBtnInApp",
        param:param,
        callback:function(data){
            callback(data)
        }
    })
}

-----------------

具體的場(chǎng)景去調(diào)用 shareBtnInApp函數(shù)

var __param = {
   name:"wwb",
   age:32 
}
window[hxsConfigBridge.globalBridgeObject].shareBtnInApp( __param, function(data){
    // data是app返回的數(shù)據(jù)
    // 根據(jù)app返回的data數(shù)據(jù)格式來(lái)處理業(yè)務(wù)

    // {
    //     code:200,
    //     data:{
    //         name:"jerry",
    //         work:"前端開發(fā)"
    //     }
    // }

    if(data.code == 200){
        alert("回調(diào)成功了")
    }
})

參考:
https://www.imooc.com/learn/850

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/90125.html

相關(guān)文章

  • 每天10個(gè)前端知識(shí)點(diǎn):雜技

    摘要:個(gè)人博客已上線,歡迎前去訪問(wèn)評(píng)論無(wú)媛無(wú)故的個(gè)人博客以下內(nèi)容若有問(wèn)題煩請(qǐng)即時(shí)告知我予以修改,以免誤導(dǎo)更多人。把一個(gè)邏輯值轉(zhuǎn)換為字符串,并返回結(jié)果。注冊(cè)后,可直接調(diào)用的接口,并獲取的返回值。 個(gè)人博客已上線,歡迎前去訪問(wèn)評(píng)論!無(wú)媛無(wú)故 - wangchloe的個(gè)人博客 以下內(nèi)容若有問(wèn)題煩請(qǐng)即時(shí)告知我予以修改,以免誤導(dǎo)更多人。 toString() && valueOf() JSON ...

    dongfangyiyu 評(píng)論0 收藏0
  • 每天10個(gè)前端知識(shí)點(diǎn):雜技

    摘要:個(gè)人博客已上線,歡迎前去訪問(wèn)評(píng)論無(wú)媛無(wú)故的個(gè)人博客以下內(nèi)容若有問(wèn)題煩請(qǐng)即時(shí)告知我予以修改,以免誤導(dǎo)更多人。把一個(gè)邏輯值轉(zhuǎn)換為字符串,并返回結(jié)果。注冊(cè)后,可直接調(diào)用的接口,并獲取的返回值。 個(gè)人博客已上線,歡迎前去訪問(wèn)評(píng)論!無(wú)媛無(wú)故 - wangchloe的個(gè)人博客 以下內(nèi)容若有問(wèn)題煩請(qǐng)即時(shí)告知我予以修改,以免誤導(dǎo)更多人。 toString() && valueOf() JSON ...

    marser 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<