我正在使用CKEditor中的自定义链接生成器.我想要做的是获取用户选择的html.我尝试了很多东西,我的最后一个功能是
function getTheHtml(editor) {
var selection = editor.getSelection();
if (selection.getType() == CKEDITOR.SELECTION_ELEMENT) {
var selectedContent = selection.getSelectedElement().$.outerHTML;
} else if (selection.getType() == CKEDITOR.SELECTION_TEXT) {
if (CKEDITOR.env.ie) {
selection.unlock(true);
selectedContent = selection.getNative().createRange().text;
} else {
selectedContent = selection.getNative();
}
}
return selectedContent;
}
Run Code Online (Sandbox Code Playgroud)
这个效果很好,但我还有问题,如果用户选择它可以工作的文字,如果他选择一个图像就可以工作但是当用户选择一个图像加上一些文字我只得到文本例如这是用户真正选择的
<img align="" alt="" border="0" class="donotlink" hspace="5" src="image/pic.jpg" vspace="5" />Some Random Text
Run Code Online (Sandbox Code Playgroud)
这就是我从我的功能中得到的
Some Random Text
Run Code Online (Sandbox Code Playgroud)
我也试过这样做:
function getSelectionHtml(editor) {
var sel = editor.getSelection();
var ranges = sel.getRanges();
var el = new CKEDITOR.dom.element("div");
for (var i = 0, …Run Code Online (Sandbox Code Playgroud) 我正在CKEditor中开发一个插件,目的是根据选中哪个复选框来隐藏或显示元素。我已经定义了那些元素:
contents :
[
{
id : 'tab1',
label : 'Configuration Basique',
elements :
[
{
type : 'checkbox',
id : 'check',
label : 'Vers une page web',
'default' : 'unchecked',
onClick : function(){
}
},
{
type : 'text',
id : 'title',
label : 'Explanation',
}
]
},
{
id : 'tab2',
label : 'Advanced Settings',
elements :
[
{
type : 'text',
id : 'id',
label : 'Id'
}
]
}
],
Run Code Online (Sandbox Code Playgroud)
所以现在我想做的是不隐藏不禁用带有标签的文本输入,仅在选中此框时打印它。所以我看到我应该使用这样的东西:
onLoad : function(){
this.getContentElement('tab1','title').disable();
}, …Run Code Online (Sandbox Code Playgroud)