我们在开发 App 应用中,经常会遇到打开第三方程序的场景,比如打开手机淘宝、通过第三方浏览器打开一个 url 等等。
App不像网页可以使用http超链接互相跳转,但手机os设计了scheme机制,可以通过特殊的链接互相调起。
比如手机淘宝,其安装后会在手机os中会注册一个scheme协议,taobao://
。
这种协议还支持参数,比如taobao://s.taobao.com/search?q=uni-app
启动淘宝并打开搜索页面搜索uni-app。
在uni-app/5+App中,可以通过scheme呼起其他App,也支持给自己的App设置scheme参数
openApp(appurl) {
// #ifdef APP-PLUS
plus.runtime.openURL(appurl, function(res) {
console.log(res);
});
// #endif
// #ifdef H5
window.open(appurl);
// #endif
}
<button class="button" @click="openApp('mqq://')">打开QQ</button>
<button class="button" @click="openApp('openApp.jdMobile://')">打开京东</button>
<button class="button" @click="openApp('taobao://s.taobao.com/search?q=uni-app')">打开淘宝搜索页面</button>
<button class="button" @click="openApp('snssdk1128://aweme/detail/122513963')">打开抖音指定视频</button>
<button class="button" @click="openApp('weixin://')">打开微信</button>