外部链接跳转H5应用,并携带base64编码格式的参数名,如“dG9rZW4=“,页面无法渲染,删除参数名后面的“=”,即可正常渲染
- 发布:2024-11-01 11:00
- 更新:2024-11-05 17:20
- 阅读:45
【报Bug】网页链接中包含base64编码格式的参数中有特殊符号时,运行会报Failed to execute 'setAttribute' on 'Element'错误
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows11家庭版 21H1
HBuilderX类型: 正式
HBuilderX版本号: 4.29
浏览器平台: Chrome
浏览器版本: 130.0.6723.92(正式版本) (64 位)
项目创建方式: HBuilderX
操作步骤:
预期结果:
页面能够正常渲染
页面能够正常渲染
实际结果:
无法正常渲染并报Failed to execute 'setAttribute' on 'Element': 'dG9rZW4=' is not a valid attribute name错误
无法正常渲染并报Failed to execute 'setAttribute' on 'Element': 'dG9rZW4=' is not a valid attribute name错误
bug描述:
通过链接跳转uniapp的H5应用,链接中带有base64编码的参数,例:http://localhost:5173/#/?dG9rZW4%3D=(具体参数),其中参数名‘dG9rZW4=‘,带有特殊符号‘=’,此时会报InvalidCharacterError: Failed to execute 'setAttribute' on 'Element': 'dG9rZW4=' is not a valid attribute name.错误。
推测:uniapp编译页面时直接截取了链接参数,并通过setAttribute方法写入标签内,参考附件图片,删除参数名的‘=’后即可正常编译
tab页和普通页面都出现了该问题
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
这个报错是 url 里出现里等号,和 query 参数无法区分导致的吧,把你的参数 encode 一下,保证不出现特殊符号再试一次。
sakurai_azusa (作者)
链接已经是encode过的,dG9rZW4%3D,%3D就是‘=’的encode编码,但实际跳转的时候还是会将%3D识别为‘=’,现在是通过一个空白的中间页跳转到首页来忽略这个问题
2024-11-18 18:46