UE报错:Uncaught TypeMismatchError: Failed to execute 'removeAttributeNode' on 'Element'解决方案

妖狐艹你老母 2022-08-13 00:51 271阅读 0赞
  1. <span style="font-size:14px;">适用UE富文本编辑器的时候,报错:Uncaught TypeMismatchError: Failed to execute 'removeAttributeNode' on 'Element': The 1st argument provided is either null, or an invalid Attr object.</span>

解决办法:

打开报错文件,文件有两种,一种是压缩过的,一种是未压缩过的

未压缩的:解决方法,打开报错的js文件,查到以下代码(或者报错的地方):








1 switch (ci) {







2     case ‘className’:







3         node[ci] = ‘’;







4         break;







5     case ‘style’:







6         node.style.cssText = ‘’;







7         !browser.ie && node.removeAttributeNode(node.getAttributeNode(‘style’))







8 }

加一个 if 判断:








01 switch (ci) {







02     case ‘className’:







03         node[ci] = ‘’;







04         break;







05     case ‘style’:







06         node.style.cssText = ‘’;







07         if (node.getAttributeNode(‘style’) !== null) { // 加判断







08             !browser.ie && node.removeAttributeNode(node.getAttributeNode(‘style’))







09         }







10 }

压缩过的:直接使用打包后的 min.js,找到(我的是在第40行):








1 switch(d){ case “className”:a[d]=“”;break;case “style”:a.style.cssText=“”,!m.ie&&a.removeAttributeNode(a.getAttributeNode(“style”))}

改成:








1 switch(d){ case “className”:a[d]=“”;break;case “style”:a.style.cssText=“”;if(a.getAttributeNode(“style”)!==null){!m.ie&&a.removeAttributeNode(a.getAttributeNode(“style”))}}

注意 a.style.cssText=”” 后面的逗号改成分号

友情声明:这里需要注意的是,代码某些部分根据UE的版本不同,名字也不近相同,比如:有的版本中,压缩后的d变成了a。基本上大同小异,大家仔细一下就知道了。

发表评论

表情:
评论列表 (有 0 条评论,271人围观)

还没有评论,来说两句吧...

相关阅读