美文网首页
h5与原生交互(其中的一种)

h5与原生交互(其中的一种)

作者: 雨依那么淅沥 | 来源:发表于2020-03-15 16:49 被阅读0次

h5与原生app互调的前端做法(其中的一种)

菜鸟一枚,如有错误,欢迎指正。

判断是安卓手机还是苹果手机
var ua = navigator.userAgent;

 var isAndroid = /Android/.test(ua);

安卓调取h5,只需要将函数暴露在window对象上即可,req可以是原生传递的参数。

window.haha = function (req){}

h5调取安卓,这里的函数名haha跟showStoreAddress是与安卓商量好的

var obj = {

          "name": this.mername,

          "address": this.meradress,

          "lat": this.latitude,

          "long": this.longitude

        }

        window.android.showStoreAddress(JSON.stringify(obj));

h5跟ios互调

//公共部分

function setupWebViewJavascriptBridge(callback) {

    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)

}

ios调h5,这里的setName是与ios商量好的,data是ios传递过来的参数,这里的callBack有需要可以使用,是被ios调取后返回给他的callback

var that = this;

    setupWebViewJavascriptBridge(function(bridge) {

      bridge.registerHandler("setName", function(data,callBack) {

        callBack({ title: 34234 });

        var obj = JSON.stringify(data);

        that.name = data;

      });

    });

h5调ios,这里的getName是与ios商量好的,title是传递给ios的参数,responseCallback有需要可以使用,是调取完ios后返回的callback

setupWebViewJavascriptBridge(function(bridge) {

      bridge.callHandler(

        "getName",

        { titile: 1111 },

        function responseCallback(responseData) {

          that.name = JSON.stringify(responseData);

        }

      );

    });

相关文章

  • iOS开发之 WebViewJavascriptBridge 原

    当前移动端 H5 与原生混合开发已成常态,这其中自然就少不了原生与 H5 的交互问题。iOS 端 WebViewJ...

  • iOS原生App与H5页面交互笔记

    iOS原生App与H5页面交互笔记 iOS原生App与H5页面交互笔记

  • H5与原生的交互方案-JockeyJS

    H5与原生的交互方式: H5调用原生:原生解析h5的scheme,执行相应的方法 原生调用H5:H5中有一些公共方...

  • iOS和html5交互开发

    iOS与HTML5交互方法总结 iOS原生APP与H5+JS交互 iOS原生App与H5页面交互笔记

  • iOS原生App与H5页面交互笔记

    iOS原生App与H5页面交互笔记WKWebview 交互实现Http与iOS以及网页交互

  • h5与原生交互(其中的一种)

    h5与原生app互调的前端做法(其中的一种) 菜鸟一枚,如有错误,欢迎指正。 判断是安卓手机还是苹果手机var u...

  • WKWebView中JS与原生方法交互

    JS与iOS原生方法交互的场景还是比较多的, 项目中用到原生加载h5界面, 然后js与原生交互. 原生端调用js端...

  • h5与App原生交互方案

    H5与App原生交互,一般会是前端页面中的JavaScript与App使用的原生开发语言的交互。技术方案应能达到以...

  • H5与原生交互总结

    本文主要总结一下JS与原生交互的几种方式,其中包括UIWebview与WKWebView这两个iOS端加载H5的控...

  • VUE-JS交互

    在app内嵌H5项目中肯定要用到不少交互,原生和H5交互,H5和原生的交互,我现在所了解到的交互有两种形式: 1、...

网友评论

      本文标题:h5与原生交互(其中的一种)

      本文链接:https://www.haomeiwen.com/subject/swusehtx.html