uniApp webview 中调用底座蓝牙打印功能异常

背景:

使用uniApp, 安卓底座 + webView 方式开发;

调用方式采用H5 向 底座发送消息, 底座判断消息类型, 然后连接打印机进行打印;

内容通过指令集方式传递给打印机;

过程当中发现部分标签可以正常打印, 但又有部分不行,打印机没反应, 也没有报错;

原因分析:

对比标签内容发现不能打印的指令集内容当中包含了一些特殊符号

继续对打印的方法进行分析, 发现前面步骤都是正常的, 只是到了转码指令集这一步之后就没有执行了

继续对这句代码拆解, 并在浏览器中调试进行输出, 这个时候报错出现了

这里百分号没办法使用 decodeURIComponent 直接转码, 报错了

decodeURIComponent("0KΩ ± 1%25(0603)")

查找资料后发现 在MDN 上是有对这个报错的提示的, 应该不止是 百分号, 其他一些符号也会导致这个情况;

URIError: malformed URI sequence - JavaScript | MDN

这一篇里面有更多的一些介绍及解决方法: decodeURIComponent在解析浏览器参数中含有%时报错处理

解决办法:

  1. 在H5将内容发送给底座时先进行一次 encode;

  2. 编写通用方法, 对内容中的特殊字符进行替换;

相关推荐
CHB21 小时前
uni-ai:让你的App快速接入AI
uni-app·deepseek
小徐_23333 天前
uni-app vue3 也能使用 Echarts?Wot Starter 是这样做的!
前端·uni-app·echarts
iOS阿玮3 天前
永远不要站在用户的对立面,挑战大众的公知。
uni-app·app·apple
xw53 天前
uni-app中v-if使用”异常”
前端·uni-app
!win !3 天前
uni-app中v-if使用”异常”
前端·uni-app
2501_915918413 天前
iOS 上架全流程指南 iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传 ipa 与审核实战经验分享
android·ios·小程序·uni-app·cocoa·iphone·webview
00后程序员张3 天前
iOS App 混淆与加固对比 源码混淆与ipa文件混淆的区别、iOS代码保护与应用安全场景最佳实践
android·安全·ios·小程序·uni-app·iphone·webview
00后程序员张4 天前
详细解析苹果iOS应用上架到App Store的完整步骤与指南
android·ios·小程序·https·uni-app·iphone·webview
海绵宝宝不喜欢侬4 天前
uniapp-微信小程序分享功能-onShareAppMessage
微信小程序·小程序·uni-app
2501_915106324 天前
Xcode 上传 ipa 全流程详解 App Store 上架流程、uni-app 生成 ipa 文件上传与审核指南
android·macos·ios·小程序·uni-app·iphone·xcode