用jquery CKEDITOR打开锚点

时间:2012-05-30 20:12:37

标签: jquery ckeditor

下午好人,

我正在使用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 */ 

非常感谢,我非常感谢帮助

1 个答案:

答案 0 :(得分: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之间的混合,但它应该以这种方式工作 - 无论如何都不能在iframe中使用jquery.CKEDITOR的回调处理程序遍历href元素并查找带有#filepos91625标签的链接,当它被发现时,滚动到iframe内标签的偏移位置。