【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')
})
相关推荐
米粒宝的爸爸8 小时前
uniapp在app端,在导航栏设置自定义按钮
uni-app
dssxyz9 小时前
uniapp打包微信小程序主包过大问题_uniapp 微信小程序时主包太大和vendor.js过大
javascript·微信小程序·uni-app
xw59 小时前
我犯了错,我于是为我的uni-app项目引入环境标志
前端·uni-app
!win !9 小时前
被老板怼后,我为uni-app项目引入环境标志
前端·小程序·uni-app
颜渊呐14 小时前
uniapp中APPwebview与网页的双向通信
前端·uni-app
白杨木影子被拉长17 小时前
多状态映射不同样式(scss语法)
vue.js·uni-app
一念杂记17 小时前
免费开源!微信小程序商城源码,快速搭建你的线上商城系统!
微信小程序·uni-app
aklry1 天前
uniapp三步完成生成一维码图片
uni-app
雪芽蓝域zzs1 天前
uniapp 国密sm2加密
uni-app
打不着的大喇叭2 天前
uniapp的光标跟随和打字机效果
前端·javascript·uni-app