扫描二维码 上传二维码
选择防红平台类型,避免链接被拦截
选择允许访问的平台类型

外部链接跳转小程序的实现方法

在移动互联网的精致生态中,流畅的用户体验如同涓涓细流,润物无声却至关重要。当用户于小程序中轻触一个外部链接,常规路径往往是跳出至浏览器,这一“跃出”虽为技术常态,却悄然割裂了体验的连贯性。如何将这股外溢的流量温柔挽留,引导其在小程序的疆域内延续旅程?答案藏于一种优雅而高效的实现方式之中——借助 web-view 组件,让网页内容如诗般流淌于小程序之内。

我们称之为“快缩短网址”的项目(suo.run),正致力于构建更无缝的数字连接。在这一愿景下,我们不仅缩短链接,更缩短用户与目标之间的体验距离。为此,我们探索并实践了一种将外部链接内嵌于小程序的技术路径,使其不再是一次“跳转”,而成为一次“抵达”。

第一步:架构之基,布局页面蓝图



一切始于小程序的心脏——app.json。在这里,我们精心规划导航结构,为网页视图预留一方席位:

{
"pages": [
"pages/index/index",
"pages/webview/webview"
],
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页"
},
{
"pagePath": "pages/webview/webview",
"text": "链接",
"iconPath": "icon/webview.png",
"selectedIconPath": "icon/webview_selected.png"
}
]
}
}




通过引入独立的 webview 页面,我们为后续的内容承载铺就通途。

第二步:搭建桥梁,嵌入动态视窗

pages/webview/webview 路径下,我们构筑起通往外部世界的窗口。其 WXML 结构简洁而有力:

<web-view src="{{url}}"></web-view>




此处的 url 来自外界传参,经由数据绑定,化作 web-view 的灵魂所在——它决定了哪一页风景将在小程序中徐徐展开。

第三步:捕捉流转,编织跳转逻辑

真正的魔法发生在 app.js 中。我们以全局监听之姿,在程序启动之际捕获来自外部的跳转意图:

App({
onLaunch: function (options) {
if (options.query && options.query.url) {
const targetUrl = decodeURIComponent(options.query.url);
wx.reLaunch({
url: /pages/webview/webview?url=${encodeURIComponent(targetUrl)}
});
}
}
});


当携带 url 参数的请求悄然降临,小程序便以从容姿态重定向至内嵌页面,将原本可能流失的用户动线,转化为一场沉浸式的内部漫游。

---

至此,一条完整的链路已然成型:从外部链接的点击,到参数的传递,再到小程序内部的优雅呈现。用户无需离开当前语境,即可浏览目标内容,体验如行云流水,浑然一体。



在“快缩短网址”(suo.run)的世界里,我们相信,每一次跳转都应是信任的延续,而非断裂。通过这项技术实践,我们不仅实现了功能的升级,更传递了一种理念——连接,本该如此自然