zoukankan      html  css  js  c++  java
  • webapp js与安卓,ios怎么交互

    /*这段代码是固定的,必须要放到js中*/
    function setupWebViewJavascriptBridge(callback) {

    var u = navigator.userAgent;
    var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/);
    if (!isiOS) {
    if (window.WebViewJavascriptBridge) {
    callback(WebViewJavascriptBridge)
    } else {
    document.addEventListener('WebViewJavascriptBridgeReady', function (event) {
    if(window.onWebViewJavascriptBridgeReady) window.onWebViewJavascriptBridgeReady(window.__bridge = WebViewJavascriptBridge);
    callback(WebViewJavascriptBridge)
    }, false)
    }
    } else {

    if (window.WebViewJavascriptBridge) {
    return callback(WebViewJavascriptBridge);
    }
    if (window.WVJBCallbacks) {
    return window.WVJBCallbacks.push(callback);
    }
    window.WVJBCallbacks = [callback];
    var WVJBIframe = document.createElement('iframe');
    WVJBIframe.style.display = 'none';
    WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';
    document.documentElement.appendChild(WVJBIframe);
    setTimeout(function() {
    document.documentElement.removeChild(WVJBIframe)
    }, 0)
    }

    }

    export default {

    callhandler (name, data, callback) {
    setupWebViewJavascriptBridge(function (bridge) {
    bridge.callHandler(name, data, callback)
    })
    },

    registerhandler (name, callback) {
    setupWebViewJavascriptBridge(function (bridge) {
    bridge.registerHandler(name, function (data, responseCallback) {
    callback(data, responseCallback)
    })
    })
    }
    }
    // 调用
    this.$bridge.callhandler('shopCode',{'test':'test'},(data) => {
    this.shopCode = data.shopCode;
    })
  • 相关阅读:
    Qt安装
    Windows下查看进程的工具
    編譯 Boost 1.35.0 (Visual Studio 2005 (VC 8.0) + Windows XP
    boost1.35.0编译日志
    Linux
    Tool
    word cup
    IIS Study
    Oracle PL/SQL语言基础1 [初级] (http://www.cnmpa.com/edu/a1/8/892f4a44496ef382.asp)
    Psychology
  • 原文地址:https://www.cnblogs.com/langqq/p/9813296.html
Copyright © 2011-2022 走看看