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 に答える