У меня проблемы с изменением выделенного текста и изображений в CKEditor. Вот код, который я использую, чтобы получить выделение, а затем обернуть его в ссылку.Кстати, я делаю это из диалогового окна в верхней части ckeditor:
/* the base script for ckeditor selection actions, like inserting links/images */
(function(){
var editor=editor||CKEDITOR.instances[parent.$('#WYSIWYGwrapper textarea').attr('id')];
if(CKEDITOR.env.ie){CKEDITOR.dialog.getCurrent().hide();}
var selection=editor.getSelection(),
element=editor.document.createElement('a'),
text="",
ranges=selection.getRanges(),
range={},
isWebkitShouldExtract=false,
clone={},
ShouldExtractWebkit=function(nodes) {
var nodelen=nodes.length,
i=0;
for(;i<nodelen;i+=1) {
if(nodes[i].nodeName==="IMG") return true;
}
return false;
};
this.insertMode=true;
element.setAttribute("href","www.google.com");
element.setAttribute("target","main");
if(CKEDITOR.env.ie){text=editor.document.$.selection.createRange().htmlText;element.setHtml(text);editor.insertElement(element);}
else{
if(ranges.length>0){
range=ranges[0];
clone=range.cloneContents();
if(CKEDITOR.env.webkit){isWebkitShouldExtract=ShouldExtractWebkit(clone.$.childNodes);}
element.append(clone);
if(!CKEDITOR.env.webkit || isWebkitShouldExtract){range.extractContents();}
editor.insertElement(element);
}
}
if(!CKEDITOR.env.ie){CKEDITOR.dialog.getCurrent().hide();}
}());
В целом, похоже, что я не могу выбрать элементы HTML в WYSYWIG, а затем последовательно оборачивать их в теги ссылок в разных браузерах.У кого-нибудь есть опыт выполнения этого?