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

背景:

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

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

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

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

原因分析:

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

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

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

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

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

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

URIError: malformed URI sequence - JavaScript | MDN

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

解决办法:

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

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

相关推荐
奶糖 肥晨1 分钟前
解决 UniApp 自定义弹框被图片或 Canvas 覆盖的 Bug
uni-app·bug
荷花微笑18 分钟前
HBuilderX升级,Vue2 scss 预编译器默认已由 node-sass 更换为 dart-sass
uni-app·css3
2501_916007476 小时前
iOS App 上架实战 从内测到应用商店发布的全周期流程解析
android·ios·小程序·https·uni-app·iphone·webview
anyup8 小时前
🔥 🔥 为什么我建议你使用 uView Pro 来开发 uni-app 项目?
前端·vue.js·uni-app
小小怪下士_---_11 小时前
uniapp开发微信小程序自定义导航栏
前端·vue.js·微信小程序·小程序·uni-app
anyup14 小时前
🔥🔥 uView Pro:Vue3+TS重构的uni-app开源组件库,文档免费无广告!
前端·vue.js·uni-app
样子20181 天前
Uniapp 之renderjs解决swiper+多个video卡顿问题
前端·javascript·css·uni-app·html
fakaifa1 天前
点大餐饮独立版系统源码v1.0.3+uniapp前端+搭建教程
小程序·uni-app·php·源码下载·点大餐饮·扫码点单
Bug改不动了1 天前
React Native 与 UniApp 对比
react native·react.js·uni-app
anyup1 天前
🔥🔥 10 天 Star 破百!uView Pro 文档也开源啦:完全免费、无广告、高效上手
前端·vue.js·uni-app