2011-06-22 6 views
3

私はサイトを構築しており、一部のページにはのCKEditor(つまりWYSIWYGエディタ)のインスタンスが含まれています。彼らは今のところうまく働いています。それにもかかわらず、実際には、ユーザインタラクションを必要とせずに(すなわち、外部イベントハンドラの本体内からプログラム的にスクロールを実行しなくても)編集領域を右下にスクロールする必要があることがあります。WYSIWYGモードでCKEditorをスクロールする方法は?

Q:

  • 正しい方法は何ですか(つまり、私が使うべき方法)をCKEditorバージョン WYSIWYGエディタをスクロールしますか?ページに複数のインスタンスがある場合は、特定のエディタインスタンスをスクロールして をスクロールするよう求めています。

PS:私は、ドキュメントに何かを見つけることができなかった、とグーグルは、すべての:(で助けにはならなかった

答えて

2

Olemis

私は公式のか分かりません。道、しかしハイジャックに管理 - http://ckeditor.com/demoでME-CKEditorバージョンの恥と、次のコードは、IE/FFのために働いていた(あなたは私が怖い他のブラウザを試してみなきゃ)

document.getElementById("ifr").contentWindow.scrollTo(0,3) 

ここで "ifr"は実行時にiframeに与えた名前です。両方のブラウザが素晴らしい開発ツールとjsコンソールをサポートしてくれる素晴らしいニュースです...

ここで、CKEditorフレームには適切なIDはありませんが、そのデモには含まれていますTD id'ed "cke_contents")。マイルは異なる場合があります。それはあなたがjqueryでそれをスパイシーにすることができることを示唆している。

「ハック」が正しく機能するかどうかを教えてください。それ以外の場合は、実行可能なコードが付いてくることを祈ってください。

よろしく

+0

上記の溶液は、最終的な解に近いですが、トリッキーな意味があります。 - なし 'scrollTo'方法**を持っていないwindow'オブジェクト_Opera_で':$を** - ** _Firebug_がオンになっている場合のみ、これは_FF_ **の私のために働きます。 –

+0

私は_Firebug_をアクティブにして/私がテストしていることを意味します。 _Firebug_(リロードなし)を閉じると、ウィンドウをスクロールしません。ページをリロードしてもウィンドウはスクロールしません**:** ** $ ** –

+0

恥ずかしがり屋:Firebugを開いたままで動作するのは奇妙ではありませんか?Firebugはどのような種類の塩を追加しますか? O_O。あなたは*咳* IE *咳*を試みましたか? –

0

私は、これは古いQである知っているが、それはa newer one I recently answeredに関連として現れました。将来の参照のためにそこからコピーするには:jQueryにアクセスできます。これはトリックを行う可能性があります。

var editor = CKEDITOR.instances.editor1; 
var jqDocument = $(editor.document.$); 
var documentHeight = jqDocument.height(); 
jqDocument.scrollTop(documentHeight); 

この方法は、以前の回答と非常によく似ています。これはCKE> 4.xを前提としています。これはCKEDITOR.instancesのドット表記法を使用しているためですが、この記法を使用して古いバージョンでこれを使用することができます:CKEDITOR.instances["editor1"]。ここでは、CKEインスタンスを使用してそこから参照するドキュメントを取得します。実行可能な非jqueryである必要がありますが、今気にすることはできません。あなたはネイティブJSをしたい場合は、コメントを:)追加

関連する問題