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

🌻🌻前言

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


方案实现:

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

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

H5平台实现方式

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

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

配套webview页面

html 复制代码
<template>
    <web-view :src="url"></web-view>
</template>

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

微信小程序方案

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

注意事项

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

App端实现方式

javascript 复制代码
// 使用系统浏览器打开
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')
})
相关推荐
2501_9159184111 小时前
苹果App Store上架审核卡住原因分析与解决方案指南
android·ios·小程序·https·uni-app·iphone·webview
HWL567920 小时前
uni-app的生命周期
前端·vue.js·uni-app
一颗小青松20 小时前
uniapp设置安卓 ios 自定义启动页
uni-app
仙古.梦回~20 小时前
uniapp中使用plus对象实现经典蓝牙
uni-app
2501_9159184121 小时前
基于Mach-O文件的动态库与静态库归属方案及API扫描实践
android·ios·小程序·https·uni-app·iphone·webview
2501_9151063221 小时前
iOS 证书无法跨电脑使用?签名迁移方法一文讲透
android·ios·小程序·https·uni-app·iphone·webview
小王码农记21 小时前
uniapp中使用vuex
uni-app
HWL567921 小时前
uni-app中路由的使用
前端·uni-app
万物得其道者成1 天前
uni-app App 端不支持 SSE?用 renderjs + XHR 流式解析实现稳定输出
前端·javascript·uni-app
WeirdoPrincess1 天前
iOS 打包签名资料准备指南(HBuilderX / uni-app)
ios·uni-app