我使用下面的代码为RapidSpell创建了一个自定义插件。
CKEDITOR.plugins.add('spell',
{
init: function (editor) {
editor.addCommand('spell', {
exec: function (editor) {
rapidSpell.ayt_aytEnabled = false;
spell('cke_contents_Model_NoteText', 'dialog');
}
});
editor.ui.addButton('spell', {
label: 'Spell Check',
command: 'spell',
icon: this.path + 'icons/spell.png'
});
}
});
function spell(id, mode) {
var ifr = document.getElementsByClassName('cke_wysiwyg_frame cke_reset')[0];
ifr.setAttribute('id', id + '_ifr');
ifr.id = id + '_ifr';
if (mode == 'dialog')
rapidSpell.dialog_spellCheck(true, ifr.id);
else
rapidSpell.ayt_spellCheck(ifr.id);
}
它在IE 9中正常工作但在IE 8中引发了Javascript错误。我正在使用CKEditor 4,它也被认为与IE8兼容。所以我想知道问题出在哪里。
消息:对象不支持此属性或方法 行:21 查尔:5 代码:0 URI:https://btsdebasctk01.wrbts.ads.wrberkley.com/Library/Scripts/ckeditor4/plugins/inlinespell/plugin.js?t=E0LB
答案 0 :(得分:1)
在IE9中添加了对the getElementsByClassName
function的支持。
如果您不需要支持IE8之前的任何内容,请改用querySelectorAll
。