在ckeditor中选择html

ponayz

我正在使用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;
}

这很好用,但是我仍然有问题,如果用户选择文本可以工作,如果他选择图像可以工作,但是当用户选择图像加上一些文本时,我只能得到例如这是用户真正选择的文本

 <img align="" alt="" border="0" class="donotlink" hspace="5" src="image/pic.jpg" vspace="5" />Some Random Text

这就是我从我的职能中得到的

Some Random Text

我也尝试这样做:

function getSelectionHtml(editor) {
    var sel = editor.getSelection();
    var ranges = sel.getRanges();
    var el = new CKEDITOR.dom.element("div");
    for (var i = 0, len = ranges.length; i < len; ++i) {
        el.append(ranges[i].cloneContents());
    }
    return el.getHtml();
}

但是它选择了第一个最近的节点,当我尝试用“ a”标签包装选择时,我无法包装用户最初选择的内容

我知道这是一个经常出现的话题,但是由于我没有找到解决方法,所以……谢谢。

奥列克

使用range.cloneContents()在编辑器中选择任何内容后,在控制台中调用以下代码:

var editor = CKEDITOR.instances.editor1,
    range = editor.getSelection().getRanges()[ 0 ],
    el = editor.document.createElement( 'div' );

el.append( range.cloneContents() );
console.log( el.getHtml() );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ckeditor中选择html

来自分类Dev

在html中选择父目录

来自分类Dev

jQuery变量(在html中选择)

来自分类Dev

在html中选择父目录

来自分类Dev

jQuery从插入的html中选择

来自分类Dev

在JavaScript中选择HTML选项

来自分类Dev

用户从下拉菜单中选择时刷新CKEDITOR

来自分类Dev

从html选择菜单中选择的值

来自分类Dev

在HTML选择列表中选择选项时的HTML垂直居中选择

来自分类Dev

使用BeautifulSoup在HTML中选择div块

来自分类Dev

使用Jsoup从HTML中选择<p>

来自分类Dev

使用JSOUP在HTML表中选择链接

来自分类Dev

在html表格中选择一行

来自分类Dev

从抓取的HTML中选择表格元素

来自分类Dev

如何使用JQuery从HTML中选择元素

来自分类Dev

HTML表中选择行的Highchart

来自分类Dev

使用jQuery从html中选择<option>

来自分类Dev

从选择中选择选项重定向到html页面

来自分类Dev

使用JavaScript在HTML中选择下拉列表的选择值

来自分类Dev

用jquery在'a'标记中选择html,但获取html不是函数

来自分类Dev

在Hive中选择中选择

来自分类Dev

在 angularjs 中选择一个值时,在 html 中选择标签值消失

来自分类Dev

从2选择中选择

来自分类Dev

在选择中选择?

来自分类Dev

从选择中选择

来自分类Dev

如何从选择中选择?

来自分类Dev

选择*从(从表中选择*)

来自分类Dev

从选择中选择*

来自分类Dev

从选择 postgres 中选择