1.直接使用Discuz编辑器的所见即所得模式时:
Uncaught TypeError: Cannot call method ‘appendChild’ of /include/javascript/editor.js:129 undefined
2.将Discuz编辑器从代码模式切换到所见即所得模式时(无法切换):
Uncaught TypeError: Cannot call method ‘replace’ of /include/javascript/bbcode.js:387 undefined
第一个错误的出现在editor.js文件中的function setEditorStyle()函数中,解决办法是在
var headNode = editdoc.getElementsByTagName("head")[0];
headNode.appendChild(editcss);
中间加入:
if(!headNode){headNode = editdoc.getElementsByTagName("body")[0];}//by ZZR
第二个错误实际是出现在bbcode.js文件中的function bbcode2html(str)函数中,原因是Chrome、Firefox中对函数的处理有点不一样,函数的最后一个元素是push。解决办法是在:
re = new RegExp(addslashes(smilies[id]['code']), "g");
的前面加入:
if(isNaN(parseInt(id))) continue; //by ZZR
也可以直接下载:http://bbs.vpser.net/include/javascript/editor.js 和 http://bbs.vpser.net/include/javascript/bbcode.js 覆盖对应目录下的文件