小程序
小游戏
企业微信
微信支付
扫描小程序码分享
webview 转发出去的页面需要带一个参数,实际打开转发后的页面url中的并没有拿到参数。
转发后打印的pathvalue 的值:/pages/select_time?url=https://xxxxxx/redpacket/packet_frm2.html?no=sap-666666。真机打开转发后的页面弹出的window.location:https://xxxxxx/redpacket/packet_frm2.html。后面的参数没了。 请问一下参数是怎么带的,谢谢
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
var url = 'http://www.baidu.com';
你需要将URL编码:var encodeUrl = encodeURIComponent(url);
跳转时:/pages/select_time?url=encodeUrl;
在web-view页面:
var url = decodeURIComponent(options.url);
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
解码的时候是在page的onload里吗,还是onLunch中呢
我在进到select_time页面之前将url进行encodeURIComponent, 然后在select_time中onload里将url进行decodeURIComponent赋值给url了,最后转发的时候拿到当前url再进行encodeURIComponent, 拼接/pages/select_time?url= encodeUrl,最后转发出去的连接应该是这样格式的:/pages/select_time?url=https%3A%2F%2F XXXX packet_frm2.html%3Fno%3Dsap-666666。对吗,我这样的话分享出去的实际打开的时候是空白的。
转发出去打开的话page会执行onload吗,我这边应该是转发出去的页面打开没有进行onload获取参数进行解码之类的操作。
转发出去再打开的页面声明周期应该是没变的吧
生命周期应该是不会, 理论上会执行onload
我试了一下分享非web-view页面的转发,打开转发后的页面onload和onshow方法都有触发,但是web-view页面里面转发后的页面打开好像并没有触发onload或者onshow···
web-view也是在page里放的组件吧,我感觉应该不会有差别。具体我也没实践。
在js里面封装好,拼接成一个带参的 url直接赋值给页面就好了啊
是在哪里封装呢,是在onload 里面把链接封装成参数吗
就完了啊
谢谢,找到原因了···QAQ
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
var url = 'http://www.baidu.com';
你需要将URL编码:var encodeUrl = encodeURIComponent(url);
跳转时:/pages/select_time?url=encodeUrl;
在web-view页面:
var url = decodeURIComponent(options.url);
解码的时候是在page的onload里吗,还是onLunch中呢
我在进到select_time页面之前将url进行encodeURIComponent, 然后在select_time中onload里将url进行decodeURIComponent赋值给url了,最后转发的时候拿到当前url再进行encodeURIComponent, 拼接/pages/select_time?url= encodeUrl,最后转发出去的连接应该是这样格式的:/pages/select_time?url=https%3A%2F%2F XXXX packet_frm2.html%3Fno%3Dsap-666666。对吗,我这样的话分享出去的实际打开的时候是空白的。
转发出去打开的话page会执行onload吗,我这边应该是转发出去的页面打开没有进行onload获取参数进行解码之类的操作。
转发出去再打开的页面声明周期应该是没变的吧
生命周期应该是不会, 理论上会执行onload
我试了一下分享非web-view页面的转发,打开转发后的页面onload和onshow方法都有触发,但是web-view页面里面转发后的页面打开好像并没有触发onload或者onshow···
web-view也是在page里放的组件吧,我感觉应该不会有差别。具体我也没实践。
在js里面封装好,拼接成一个带参的 url直接赋值给页面就好了啊
是在哪里封装呢,是在onload 里面把链接封装成参数吗
就完了啊
谢谢,找到原因了···QAQ