1

各位下午好

我正在使用 CKEDITOR 和 JQuery 我需要知道当我加载 html 信息时 CKEDITOR 如何将编辑器移动到 html 中的锚点。

例如:

我加载了一个 URL 数据,例如:

http://example.com/Books/newbook/html/Text/CR!SZ3H2DP1BD2MFEK9AMDKXC1TEQZT_split_011.html

我需要编辑器向我显示指向#filepos91625 锚部分的内容。

这是我的代码的一部分:

var editor = $('#xhtml').ckeditorGet();
editor.config.baseHref = response.css;
var url = response.path + block;
editor.setData(response.content);

/* I NEED HERE CODE TO POINT TO ESPECIFIC ANCHOR SECTION INTO HTML EDITOR */ 

非常感谢,非常感谢您的帮助

4

1 回答 1

0

假设你有这样的事情:

<textarea cols="80" id="xhtml" rows="10">
<a href="#l001">Line 1</a><br />
<a href="#l002">Line 2</a><br />
<a href="index.html#filepos91625">Line 3</a><br />
    ...
<a href="#l038">Line 38</a><br />
</textarea>

并且您希望 ckeditor 转到包含“#filepos91625”的 href,请使用以下代码:

$('#xhtml').ckeditor( function() { 
            var tags = document.getElementById('cke_contents_xhtml').firstChild.contentWindow.document.getElementsByTagName("a");
            for (var i = 0; i < tags.length; i++)
            {
                if (tags[i].href.indexOf('#filepos91625')!=-1) {
                                document.getElementById('cke_contents_xhtml').firstChild.contentWindow.scrollTo(0, tags[i].offsetTop);
                }
            }

            } );

这是 jquery 和普通 javascript 之间的混合,但它应该以这种方式工作 - jquery 无论如何都不能在 iframe 中使用。CKEDITOR 的回调处理程序遍历 href 元素并查找带有标签 #filepos91625 的链接,以及何时找到滚动到 iframe 内标签的偏移位置。

于 2012-05-30T21:36:37.163 回答