1. 定义一个方法
    6
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    // 1. 定义一个函数
    zzgetCookie=(obj,cb)=>{
    // 2. 这里可以先定义一些非native操作
    document.cookie = "";
    // 3. 给cb起一个名字并 挂载 到window上
    let callbackName = `zzcb-${Math.random()*1000}`;
    window[callbackName] = cb;
    // 4. 创建一个对象来存放发送给native的数据
    let obj = {
    method: 'getCookie',
    params: obj,
    callbackName: 'zzcb-2343' // -后边为随机数
    }
    // 5. 将obj发送给客户端,IOS和Andr有不同的伪协议名,定义好就可以
    let iframe = document.createElement('iframe');
    iframe.style.width = '1px';
    iframe.style.height = '1px';
    iframe.style.display = 'none';
    iframe.src = `zznative://zhuanzhuan.hybrid.ios/?infos=${encodeURIComponent(JSON.stringify(obj))}`;
    // 6. 客户端通过传来的参数就可以找到window上的cb函数了并执行
    // 7.可以在客户端执行完cb之后进行回调删除window[callbackName]
    }
← Prev Next →