sakurai_azusa
sakurai_azusa
  • 发布:2024-11-01 11:00
  • 更新:2024-11-05 17:20
  • 阅读:45

【报Bug】网页链接中包含base64编码格式的参数中有特殊符号时,运行会报Failed to execute 'setAttribute' on 'Element'错误

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows11家庭版 21H1

HBuilderX类型: 正式

HBuilderX版本号: 4.29

浏览器平台: Chrome

浏览器版本: 130.0.6723.92(正式版本) (64 位)

项目创建方式: HBuilderX

操作步骤:

外部链接跳转H5应用,并携带base64编码格式的参数名,如“dG9rZW4=“,页面无法渲染,删除参数名后面的“=”,即可正常渲染

预期结果:

页面能够正常渲染

实际结果:

无法正常渲染并报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页和普通页面都出现了该问题

2024-11-01 11:00 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

这个报错是 url 里出现里等号,和 query 参数无法区分导致的吧,把你的参数 encode 一下,保证不出现特殊符号再试一次。

  • sakurai_azusa (作者)

    链接已经是encode过的,dG9rZW4%3D,%3D就是‘=’的encode编码,但实际跳转的时候还是会将%3D识别为‘=’,现在是通过一个空白的中间页跳转到首页来忽略这个问题

    2024-11-18 18:46

要回复问题请先登录注册