你想反馈一个 Bug 还是 提一个需求?
bug
如果是 Bug:
* Bug 表现是什么?预期表现是什么?
在webview中通过navigateTo跳转到另一个webview,携带了一个URL作参数,该URL中带有字符‘#’,在新webview的onLoad中解析得到该URL并打开,结果是:在安卓手机、开发工具里没问题,在iOS里面打不开,通过wx.showModal打印看到的是字符‘#’丢失了,在安卓手机、开发工具里打印出来是正确的
* 如何复现?
直接打印个‘#’也会丢失
* 提供一个最简复现 Demo
直接打印个‘#’
encodeURIComponent一下试试
是说web-view组件还是小程序页面调用navigateTo?
。。。
没有解决方法吗?还是说我的写法不对?
let urlParam = `../webview/index?url=${Vue.prototype.$base64.encode(encodeURIComponent(url))}`
window.wx.miniProgram.navigateTo({
url: urlParam
})
这是在H5在小程序内的跳转
let decodeURL = decodeURIComponent(util.base64.decode(url))
这是小程序里跳转的时候的解析
在安卓手机、开发工具里没问题,在iOS里面打不开
使用了encodeURIComponent
使不使用都不行
尝试过很多方法了
比如:传参前替代#,打开时替换回来。
打开时正则匹配缺少#的,就加上。
加斜杠。
都不行,感觉就是在iOS的小程序里,变量带#的都被删掉了
我是在webview的h5里面,把url通过navigateTo带参数传递到小程序代码里,类似:
window.wx.miniProgram.navigateTo({
url: `../webview/index?openURL=
'URL(含‘#’号)'
`
})
然后在小程序里通过webview打开这个URL,
结果是:在安卓手机、开发工具里没问题,在iOS里面打不开你转义一下试试看在#前面加个\