问题是:使用web-view内嵌h5页面分享后,动态指定 slot 的 name 属性。点击分享打开的不是分享时的h5网页
我的实现过程是:
一、分享时(已经没有问题)
我是在web-view中内嵌了h5网页,用户在h5网页中已经多次跳转了,分享时,我设置的链接地址是
onShareAppMessage: function (res) {
return {
///res.webViewUrl这就是web-view中的网址
title: 'XX微信小程序',
desc: 'XX微信小程序',
path: "/pages/index/index?url=" + res.webViewUrl
}
}
经过验证分享的地址是正确的,没有什么问题,关键是用户打开分享的微信小程序时,总是显示的是首页,不是当时分享的那个页面。
二、用户点击打开分享时(有问题)
用户打开分享页后,我的实现如下
data: {
MY_HOME: "https://xxx.gov.cn/index.html",
},
onLoad: function (res) {
//例如分享的地址是/pages/index/index?url=https://xxx.gov.cn/2.html
//这里的res.url就是获取的是url的入口参数即https://xxx.gov.cn/2.html
//经过验证获取的地址没有任何问题
if (typeof (res.url) != "undefined") {
//把https://xxx.gov.cn/2.html赋值给MY_HOME,并更新视图
this.setData({MY_HOME: res.url});
}
},
视图的代码是
按说,用户点击分享的微信小程序/pages/index/index?url=https://xxx.gov.cn/2.html后,微信小程序在加载时获取到https://xxx.gov.cn/2.html地址,并把此地址改变到MY_HOME中,同时视图中的中的地址也立即改变,不就是实现了打开分享前的页面吗?
可实际是不是那么回事,总是打开的首页,仿佛this.setData({MY_HOME: res.url});没有起作用,视图根本没有改变,为什么?请大师们帮助我。谢谢。
本文网址:http://www.91bianli.com/kaifazhinan/70365.html