飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

umeditor在CHROME下清除格式报错:removeAttributeNode

Author:飘易 Source:飘易
Categories:网络技术 PostTime:2014-11-2 16:26:11
正 文:
    最近在使用 umeditor 开发时发现点击“清除格式”时会报错。查找了下,发现是没有判断 style 对象节点是不是为空 null,就直接移除style造成的错误。

    错误提示:
    Uncaught TypeMismatchError: Failed to  execute 'removeAttributeNode' on 'Element': The node provided is invalid. 

    具体位置为:umeditor.min.js文件第30行
找到:
switch(d){case "className":a[d]="";break;case "style":a.style.cssText="",!m.ie&&a.removeAttributeNode(a.getAttributeNode("style"))}

改成:
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=”" 后面的逗号改成分号。
umeditor在CHROME下清除格式报错:removeAttributeNode

    如果是开发模式,打开 _src/core/domUtils.js,查到以下代码:
switch (ci) {
    case 'className':
        node[ci] = '';
        break;
    case 'style':
        node.style.cssText = '';
        !browser.ie && node.removeAttributeNode(node.getAttributeNode('style'))
}

    改成:
switch (ci) {
    case 'className':
        node[ci] = '';
        break;
    case 'style':
        node.style.cssText = '';
        if (node.getAttributeNode('style') !== null) { // 加判断
            !browser.ie && node.removeAttributeNode(node.getAttributeNode('style'))
        }
}


参考:
umeditor“清除格式”报错
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:没有了
下一篇:查交集?Mysql数据库的FULLTEXT全文索引使用方法概述
0条评论 “umeditor在CHROME下清除格式报错:removeAttributeNode”
No Comment .
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有