小程序是用uniapp开发,登录界面的用户协议有用到web-view组件来来承载网页。微信公众平台后台按要求配置了网页的业务域名。
问题:
小程序内访问加载的网页页面,只能加载第一个页面,无法跳转其他的二级页面。如此例中,用户协议页面还有其他超链接点击跳转其它页面显示更加详细的协议内容,但是在小程序内点击超链接无法跳转下一个页面,会提示“无法打开该页面”。无法打开的页面也在配置的业务域名内。请问如何处理这个问题?
代码:
<template>
<view>
<web-view style="font-size: 15px;color: blue;" :src="`https://www.xxx.com/user_terms.html`" @message="onMessage"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
onMessage(e) {
console.log(e.detail.data);
if (e.detail.data && e.detail.data.action === 'navigate') {
// 处理你的点击事件
uni.navigateTo({
url: '/pages/my/xx_contract'
});
}
},
}
}
</script>
2 个回复
泡菜哥 (作者)
急,在线等答案
DCloud_UNI_yuhe
你好,所说的打不开二级页面,是指webview里的页面打不开二级页面吗?还是说打开小程序的其它页面?
泡菜哥 (作者)
您好,是webview里面的页面,点击超链接无法跳转新页面。webview加载的页面是《用户协议》,是一个html网页。在 "用户协议.html" 页面里面,还有《隐私协议》的超链接指向另一个网页,用户点击“《隐私协议》”,但无法跳转到 “隐私协议.html”。这个肯定是微信小程序的限制,请问这种如何处理?不管是用户协议还是隐私协议,都是在同一个业务域名下面,微信公众平台都配置了白名单的。
2024-08-19 16:11
DCloud_UNI_yuhe
回复 泡菜哥: 这个一般都是在小程序登录位置分两个页面展示吧,不需要二级页面来展示吧
2024-08-19 16:17
泡菜哥 (作者)
回复 DCloud_UNI_yuhe: 不是,我只是举个例子。实际是另外的协议,跟用户协议的拓展协议有关,一个页面放不不下太多信息,所以必须要有二级页面跳转。
2024-08-19 16:23
泡菜哥 (作者)
回复 DCloud_UNI_yuhe: 分2个页面能解决,我就不会问这个问题了。
2024-08-19 16:24
DCloud_UNI_yuhe
回复 泡菜哥: 这个不支持,uniapp只支持由微信提供的 JSSDK提供的接口的通信,您可以上微信社区反馈一下
2024-08-19 16:34
泡菜哥 (作者)
回复 DCloud_UNI_yuhe: 。。。这个问题之前难道没有人碰到过吗?webview加载网页,只能加载第一个页面的内容啊,网站都不能任意点击和浏览的吗?
2024-08-19 18:40
泡菜哥 (作者)
回复 泡菜哥: 回复 DCloud_UNI_yuhe: 小程序有没有可以点击小程序页面按钮或者加载网页的超链接,跳转到外部浏览器打开的方式?
2024-08-19 18:42
DCloud_UNI_yuhe
回复 泡菜哥: 这个肯定是可以点击的啊,您可以发一下您的webview链接吗?我看一下,可以点击主页与我私聊
2024-08-19 19:39
泡菜哥 (作者)
回复 DCloud_UNI_yuhe: 私聊已发
2024-08-19 21:16