H5网页与原生Android和ios的交互
程序员文章站
2022-07-11 13:19:51
背景:H5页面是用uniapp来写的,嵌套在原生APP内,H5页面有一个下载文件的功能,按平时下载功能直接把文件链接写在A 标签的href,点击就会直接下载,但是嵌套在app内这种方法是不起作用的,正确的方法如下1:跟ios和Android的开发人员商量好,他们那边下载功能给我们提供什么方法,我们这边调用他们的方法就可以了,原理就是点击的时候,把文件地址传给ios和Android,他们拿到地址之后做下载功能2:当ios和Android的开发人员提供好方法之后,写一个点击事件,点击的时候调用他们的方法,把...
背景:H5页面是用uniapp来写的,嵌套在原生APP内,H5页面有一个下载文件的功能,按平时下载功能直接把文件链接写在a 标签的href,点击就会直接下载,但是嵌套在app内这种方法是不起作用的,正确的方法如下
1:跟ios和Android的开发人员商量好,他们那边下载功能给我们提供什么方法,我们这边调用他们的方法就可以了,原理就是点击的时候,把文件地址传给ios和Android,他们拿到地址之后做下载功能
2:当ios和Android的开发人员提供好方法之后,写一个点击事件,点击的时候调用他们的方法,把文件地址传给他们,这里需要区分当前点击的环境时Android还是ios,uniapp提供了一个方法uni.getSystemInfoSync().platform
代码如下:
<text @click="goDownLoad">下载文件</text>
goDownLoad(){ const url = 'https://xxx.xxx.xx/xx.doc' // 获取当前运行环境 android or ios const platform = uni.getSystemInfoSync().platform switch(platform){ case 'android': // JustTest.goDownLoad 是android开发提供的方法 const JustTest = window.JustTest
JustTest.goDownLoad(url) break case 'ios': // JustTest.postMessage是ios开发提供的方法 const justTest = window.webkit.messageHandlers.justTest
justTest.postMessage({ openUrl:url }) break } }
本文地址:https://blog.csdn.net/diwang_718/article/details/107905487
推荐阅读
-
Flutter与Android原生的交互实例讲解
-
Android的WebView与H5前端JS代码交互的实例代码
-
Android实现H5与Native交互的几种方式
-
H5网页与原生Android和ios的交互
-
Android、iOS和Windows Phone 三大操作系统的区别与市场分析(图文)
-
iOS原生App与H5页面交互 离线缓存 笔记
-
uni h5与原生交互的方式
-
Android与H5互调之AlerDialog的实现webView网页字体的大小
-
Flutter调用Android和iOS原生代码的方法示例
-
如何看待用 HTML5 技术开发的 web 应用与 Android 或 iOS 等原生应用的关系?