h5怎么h5调用原生方法IOS 的方法

版权声明:本文为博主原创文章未经博主允许不得转载。 /klkxxy/article/details/

首先要明白和h5交互,第一点,我们自己h5调用原生方法h5的方法我们自己h5调用原生方法h5的方法,我们自己h5调用原苼方法h5的方法


原标题:h5 与原生 app 交互的原理你鈳不得知道点!

现在移动端 web 应用,很多时候都需要与原生 app 进行交互、沟通(运行在 webview中)比如微信的 jssdk,通过 window.wx对象h5调用原生方法一些原生 app 的功能所以,这次就来捋一捋 h5

h5 与原生 app 的交互本质上说,就是两种h5调用原生方法:

因为 app 是宿主可以直接访问 h5,所以这种h5调用原生方法比較简单就是在 h5 中曝露一些全局对象(包括方法),然后在原生 app 中h5调用原生方法这些对象

因为 h5 不能直接访问宿主 app,所以这种h5调用原生方法就相对复杂一点

这种h5调用原生方法常用有两种方式:

  1. 由 app 向 h5 注入一个全局 js 对象,然后在 h5 直接访问这个对象
  2. 由 h5 发起一个自定义协议请求app 攔截这个请求后,再由 app h5调用原生方法 h5 中的回调函数
  3. 这种方式沟通机制简单比较好理解,并且对于 h5 来说没有新的东西,所以是比较推荐嘚一种方式但这种方式可能存在安全隐患,详细查看 你不知道的 Android WebView 使用漏洞

    2.2 由 h5 发起一个自定义协议请求

    这种方式要稍复杂一点,因为需偠自定义协议这对很多前端开发者来说是比较新的东西。所以一般不推荐这种方式可以作为第一种方式的补充。

    大致需要以下几个步驟:

    1. app 拦截这个请求后进行相应的操作,获取返回值

    *声明:内容与图片均来源于网络(部分内容有修改)版权归原作者所有,如来源信息有误或侵犯权益请联系我们删除或授权事宜。

页面之间传递数据你说的是APP的鈈同Activity吧?

: 我看了下只能通过localStorage来传参了,IOS使用了两个webviewsession没用。你说的其他的方法是后台jsp的事情了我这里只能控制前端

: JavaEE中HTML(jsp)页面之间的數据传递都是通过后台获取数据,存入session、request、page甚至application作用域来传递数据 1.你说的URL传参只是其中的一种“GET”的方式,其他的还有“POST”、“PUT”等方式 2.通过cookie这种localStorage也是可行,不过一般只用来存储重要性低的数据

不是,就是两个h5 页面之间相互如何传参数的

我要回帖

更多关于 h5调用原生方法 的文章

 

随机推荐