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

背景:

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

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

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

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

原因分析:

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

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

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

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

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

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

URIError: malformed URI sequence - JavaScript | MDN

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

解决办法:

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

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

相关推荐
Json____2 小时前
uni-app 框架 调用蓝牙,获取 iBeacon 定位信标的数据,实现室内定位场景
uni-app·电脑·蓝牙·蓝牙信标 beacon·定位信标·停车场定位
web_Hsir10 小时前
uniapp 微信小程序 使用ucharts
微信小程序·小程序·uni-app
web_Hsir10 小时前
Uniapp 实现微信小程序滑动面板功能详解
vue.js·微信小程序·uni-app
fakaifa12 小时前
beikeshop多商户跨境电商独立站最新版v1.6.0版本源码
前端·小程序·uni-app·php·beikeshop多商户·beikeshop跨境电商
耶啵奶膘14 小时前
uni-app:firstUI框架的选择器Select改造,添加一个搜索的插槽
前端·uni-app
程序猿看视界1 天前
Uni-app页面信息与元素影响解析
uni-app·状态栏·安全区域·窗口信息·像素比
清晨細雨1 天前
UniApp集成极光推送详细教程
android·ios·uni-app·极光推送
_未知_开摆1 天前
uniapp APP端在线升级(简版)
开发语言·前端·javascript·vue.js·uni-app
Li_na_na011 天前
解决安卓手机WebView无法直接预览PDF的问题(使用PDF.js方案)
android·pdf·uni-app·html5
web_Hsir1 天前
uniapp 微信小程序项目中 地图 map组件 滑动面板
微信小程序·uni-app·notepad++