【HarmonyOS NEXT】如何实现通过三方浏览器打开一个H5页面,通过H5页面拉起原生应用并且传递参数

本文讲述了在H5页面中,通过Webview和JSBridge技术调用三方浏览器或微信打开页面,实现H5拉起原生应用的方法,包括使用StartAbility和依赖于原生应用的特定接口。未来,H5将通过AppLink功能传递参数,类似于iOS的UniversalLinks和安卓的AppLinks。
摘要由CSDN通过智能技术生成

【关键字】

webview / jsbridge / 三方浏览器 / H5 / 拉原生应用 / 传递参数

【问题描述】

如何实现通过三方浏览器或微信打开一个H5页面,通过H5页面拉起原生应用并且传递参数。

【解决方案】

当前webview通过jsbridge的方式,可以执行StartAbility来拉起原生应用。

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/start-page-0000001774120010

当前jsbridge拉起的方式只支持应用内web组件通过和H5页面通信实现。

目前H5拉原生应用只有相关原生应用自己适配的接口,比如call.makeCall,具体实现可参考链接。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/web-redirection-and-browsing-history-mgmt-0000001820999901#ZH-CN_TOPIC_0000001820999901__%E8%B7%A8%E5%BA%94%E7%94%A8%E8%B7%B3%E8%BD%AC

关于H5页面拉起原生应用传递参数,目前已有规划,需要等版本实现后,通过AppLink实现,能力对标ios的Universal Links和安卓App Links的能力。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app中,可以使用 `vue-router` 来实现H5右滑返回上一个页面而不是退出页面的功能。具体来说,你需要在 `vue-router` 中配置 `routes` 时,将 `meta` 字段中的 `keepAlive` 属性设置为 `true`,表示需要缓存页面状态,这样在返回上一个页面时就不会重新加载页面。 下面是一个简单的示例代码: ```javascript import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'home', component: () => import('@/views/Home'), meta: { keepAlive: true // 缓存页面状态 } }, { path: '/detail', name: 'detail', component: () => import('@/views/Detail'), meta: { keepAlive: true // 缓存页面状态 } } ] }) ``` 在上面的代码中,我们使用 `meta` 字段来配置页面的一些属性,其中 `keepAlive` 属性为 `true` 表示需要缓存页面状态。在页面中,你可以通过监听 `beforeRouteLeave` 钩子来实现右滑返回的功能。 下面是一个简单的示例代码: ```javascript export default { name: 'Detail', beforeRouteLeave(to, from, next) { if (from.name === 'home') { history.pushState(null, null, document.URL) // 将当前状态推入历史记录栈 } next() } } ``` 在上面的代码中,我们通过监听 `beforeRouteLeave` 钩子来实现在离开当前页面时将当前状态推入历史记录栈的功能,这样在右滑返回时就会返回到前一个页面,而不是退出页面。需要注意的是,我们通过判断 `from.name` 来确定是否从前一个页面返回,如果是从其他页面返回则不执行推入历史记录栈的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值