【UniApp跳转外部链接】实现方案

🌻🌻前言

在跨平台开发中,外部链接跳转是常见需求。本文将针对UniApp框架,详细讲解不同场景下实现外部链接跳转的解决方案,并提供最佳实践建议。


方案实现:

UniApp实现外部链接跳转需要针对不同平台采用不同方案:

  • H5:直接使用window.open或webview
  • 微信小程序:必须使用web-view组件
  • App:推荐使用plus.runtime.openURL

H5平台实现方式

// 方式1:使用内置API
uni.navigateTo({
    url: '/pages/webview/webview?url=' + encodeURIComponent('https://www.example.com')
})

// 方式2:直接页面跳转(新窗口)
window.open('https://www.example.com', '_blank')

配套webview页面

<template>
    <web-view :src="url"></web-view>
</template>

<script>
export default {
    data() {
        return {
            url: ''
        }
    },
    onLoad(options) {
        this.url = decodeURIComponent(options.url)
    }
}
</script>

微信小程序方案

// 使用web-view组件前需配置业务域名
uni.navigateTo({
    url: '/pages/webview/webview?url=' + encodeURIComponent('https://www.example.com')
})

注意事项

  1. 需登录微信公众平台配置业务域名
  2. 域名必须备案且支持HTTPS
  3. 每个小程序最多配置200个业务域名

App端实现方式

// 使用系统浏览器打开
plus.runtime.openURL('https://www.example.com', (err) => {
    if(err) {
        uni.showToast({ title: '打开链接失败', icon: 'none' })
    }
})

// 或使用内置Webview
uni.navigateTo({
    url: '/pages/webview/webview?url=' + encodeURIComponent('https://www.example.com')
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小钟H呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值