【踩坑】activiti工作流的svg-xml解析报错
1、问题记录
工作流配置画模板的时候保存成功但是部署报错。
IE下 activiti工作流解析xml报错 type "path" must be followed by either attribute specifications, ">" or "/>"
Chrome和Firefox正常
2、问题定位
2.1 服务端是同一台服务器同一个实例,IE报错,谷歌没报错,先检查比对两个浏览器在服务端的报文
执行:服务端比对IE请求和谷歌请求报文,内容格式基本相同。检查path标签是否闭合。
结果:所有path标签都以>或/>闭合,用compare beyond比对仅是属性值的不同。内容太多,比对工具也没法很清晰的比对不同的地方。
2.2 比对法不好比对结果,用xmlspy来校验IE下xml数据
结果:IE的xml中svg的属性marker-end和marker-start的值中有双引号嵌套双引号的情况 "url("#....")" ,下一步定位为什么IE下属性值会出现双引号
2.3、分析WEB前端代码,找到nodevalue取值,再找到nodevalue赋值的地方
2.4、这里可以看到markerEndUrl是没有带引号的,而调用setAttributeNS方法后,path上的属性就变成 "url("#....")"
IE: "url(#....)" setAttributeNS后:"url("#....")"
Chrome: "url(#....)" setAttributeNS后:"url(#....)"
3、问题解决
3.1 setAttributeNS方法初步定为是IE内核上nativecode,寻找polyfill
结果:百度 谷歌 stackflow上没有找到很好的解决方法,转为在取值时修改双引号
3.2 对marker-end和marker-start取值时特殊处理
结尾:定为问题还是从报错的上下文开始定位,一开始以为是IE的编码问题,再请求部分绕了很大一圈。
xml的问题用一些xml校验工具比较实在,类似json的数据也是
setAttributeNS这种IE和Chrome下有差异的处理方法 ,猜测是因为()引起,毕竟有很多场景下元素上会有 οnclick="fun('aaa')",这里不知道是不是IE做了多余的处理。 有知道准确答案的同学麻烦解惑下,谢谢~
转载于:https://www.cnblogs.com/smileSmith/p/6860685.html
【踩坑】activiti工作流的svg-xml解析报错相关推荐
- DataX踩坑2 | 定时任务crontab不执行或报错:/bin/sh: java: command not found
前面两天写了一个DataX的增量同步脚本,今天检查了一下发现定时任务没有执行成功,数据并没有同步.以下为排查问题和解决方法. 一.定时任务crontab不执行 脚本(测试用的可以设为每分钟一次:*/1 ...
- PPT在线预览 转换为图片实现方案 Apache POI 实现时踩坑:含嵌入文件ppt转换报错 ArrayStoreException
前言 背景:最近项目需要实现PPT预览功能,以及项目APP上浏览ppt,初步方案是ppt转为图片. 实现 1.ppt转为pdf,然后pdf转为图片 该种实现,先将ppt转为pdf文件,实现方式有很多, ...
- vue使用mintUI踩坑——不显示样式/导入mui.css报错/build不了
vue-cli3.x之mint-ui按需引入 按需引入 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的. 首先,安装 babel-plugin- ...
- 关于XML解析报错问题(LF、CRLF)
报错内容的主要部分: UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 123: illegal multibyte ...
- 踩坑日记一:idea 启动项目报错 java:程序包xxx不存在解决方案
愿我所踩的坑,都是你们路上的灯 这两天开始学习idea搭建springboot项目的时候,踩坑不停,自己搭建项目碰到java:程序包xxx不存在的问题,但是项目中确实是存在的,为此问题头疼了半天,最后 ...
- 项目踩坑日记:网易企业邮箱发送邮件报错:421 4.4.5 HL:ICC
这几天我们多数的发信程序都出现了一个统一的问题:421 4.4.5 HL:ICC 这是网易企业邮箱发信频率过高超过了qps限制导致的发信失败 原因咨询了下网易的人,说可能是因为这段时间二十大网易对邮箱 ...
- 初学go踩坑系列之 unexpected directory layout:报错
GO的unexpected directory layout:报错 高版本的GO会出现 在初学GO的时候会创建自己项目目录里面创建三个文件夹src.pkg.bin.在执行go run 或 go bui ...
- 服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document
服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document : Premature end of file. Nes ...
- Castor 解析xml文件报错org.exolab.castor.xml.MarshalException
Castor 解析xml文件报错org.exolab.castor.xml.MarshalException: Illegal Text data found as child of org.exol ...
- 搭建dubbo项目解决dubbo.xml标签报错的问题
搭建dubbo项目解决dubbo.xml标签报错的问题 参考文章: (1)搭建dubbo项目解决dubbo.xml标签报错的问题 (2)https://www.cnblogs.com/ajax-li/ ...
最新文章
- 硬核吃瓜!上万条数据撕开微博热搜真相
- 利用python分析了下乘风破浪的姐姐
- repeater 时间格式化
- 参数等效模型可以用于_干货分享电池单体产热特性及热模型标定分析(2)
- pfring(pf_ring)编译安装
- js中遍历数组加到新数组_JS中的真伪数组
- delphi listbox 使用
- 怎么看端口有没有被占用?Win11查看端口是否占用的方法
- SHELL判断文件是否包含某个字串
- 刷题记录 kuangbin带你飞专题五:并查集
- 关于搜索引擎原理的详细解读
- 超强、超详细Redis入门教程
- 计算机设备灯光有哪些,多媒体教室主要有哪些设备?
- 西南科技大学 SWUST OJ系统942: 逆置顺序表
- 华为盒子EC6110-T-通刷-免拆刷机固件及教程
- POI导出换行和水平居中
- 6款沙发背景墙装饰画 总有一幅你喜欢的
- 傅里叶变换对照表_实验室仪器中英文及缩写对照表
- 魔兽、星际和红警的比较
- Linux 上使用 Gmail SMTP 服务器发送邮件通知
热门文章
- Not enough space in file systems for the current software selection. An additional XXXX MiB is neede
- opencv笔记(7):直方图均衡化
- 手撸 webpack4.x 配置(二)
- 【java】判断某段字符串的编码方式,并按照新的编码方式输出
- Android:Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
- 后羿射日般的精准 - 阿里云ECS调度是如何炼成的
- AIX6.1 TL04下安装Oracle补丁时报java程序正在被使用问题处理总结
- ajax请求后台php数据时查看报错parse error
- 彻底剖析C# 2.0泛型类的创建和使用
- [读书笔记]机器学习:实用案例解析(4)