CKEditorで選択した文字列をモーダルダイアログ側に読み込む方法

2015/03/14 JavaScript/jQuery  このエントリーをはてなブックマークに追加
ckeditor

最近CKEditorプラグイン職人の地位が確立されてきたみずきです。JavaScriptだからだと思うんですが、何か違う気がします。いや、違わないか。まぁいいです。

少し前からCKEditorプラグインを作る際に、編集領域の中をマウスで選択した際、その選択内容がモーダルダイアログ側に取ってこれない、正確には取ってこれているブラウザ(Firefox、Chromeなど)はあるが、何故かInternet Explorerだけ取ってこれない、おい!IE!!!という件について、解決方法がわかったのでここに記しておきます。

プラグインのJS内で条件に合わせて設定してください。

// 現在の設定を取得
var editor = this.getParentEditor();
var selection = editor.getSelection();
var element = selection.getStartElement();
var selectText = '';

// 選択しているテキストの取得
if( selection.getNative() ){
  selectText = selection.getNative();

} else{
  // 上記で取得できない(IEなど)の場合は下記から取得
  selectText = selection._.cache.selectedText;

}


以上になります。
とにかくInternet Explorerで取得できなくて困りました。各フォーラム等も見まわってみましたが、バージョンが古いのか、IEの仕様が変わったのか、私の読解力に問題があるのか、どれも上手くいかなかったので、最終的に実行内容を検証して探し当てました。

CKEditorのバージョンは4.3.2で確認しています。
もっと良い方法があるのをご存知の方、いらっしゃいましたらぜひ教えて下さい。

コメント

*
*

<< 座駆動LT大会2でWeb制作工程グランドスラムについて話してきた | 西川さくら定点観測 >>