有时候在小程序中直接跳转到某些网站会存在一些限制或者安全策略。可以尝试通过中间页面的方式来间接实现跳转到百度网站,这个中间页面会充当一个代理,从而规避直接跳转时可能遇到的问题。以下是相应的代码修改示例:
// 跳转到外部网站
if (item.path) {
const targetUrl = encodeURIComponent(item.path);
const url = `自己的路径?url=${targetUrl}`;
wx.navigateTo({
url: url
});
} else {
// 处理 item.path 未定义的情况
console.error('外部链接未定义');
// 添加默认操作或提示用户
}
}
由于微信小程序的URL传参的特性,如果参数带有特殊字符且不进行数据转换,微信会截取数据,导致传递的数据不完整。所以要使用 encodeURIComponent() 函数,对参数进行转换特殊字符。
(注意:使用encodeURIComponent 时,需要把对象数据转 string 格式)