被URL跳转问题折腾的有点呛 找到问题后被自己蠢哭
事情起因:
PC端活动进行扫码,跳到移动端对应的活动详情页
移动端首页部分是用钉钉小程序,其他场景模块有用小程序、也有用H5页面
因为涉及到登录问题 最开始的实现都会先跳转到首页 再在首页做判断 进行二次跳转 这样子页面会有一个用户可见的转跳过程,很不友好,而且第二次扫码 怎么都进不到详情页了 只能到首页
故做了直接跳转到详情页的操作
但是总有各种问题
最终发现都是 encodeURIComponent 惹得祸
问题一:当把URL链接作为参数传递时,应该用 encodeURIComponent 进行编码 (难怪我拿不到另一个参数 一度还把锅甩给钉钉 汗颜!!)
问题二:错用encodeURIComponent编码,在当前页面已经合成了URL 要进行URL跳转时 我却用了encodeURIComponent编码 导致无法跳转
总结:
- encodeURI:适用于url跳转时。
- encodeURIComponent:适用于url作为参数传递时。
- tips:当url作为参数传递时如果没有用encodeURIComponent进行编码,会造成传递时url中的特殊字符丢失