私は初めて CKEditor を使用しており、非常に簡単に実行できると思っていたことを実行しようとしていますが、これまでのところ成功していません。
基本的に、editor.js、config.js、styles.js をスクリプト フォルダーに配置したいのですが、css と画像を含む「Skins」フォルダーを別の「Styles」フォルダー内に表示する必要があります。
アプリケーションは、ロード時にエディターを表示する単純なビューで構成されています。
エディタを表示するコードは次のとおりです。
angular.element(document).ready(function () {
CKEDITOR.config.contentsCss = '/Styles/CKEditor/';
CKEDITOR.replace('editor');
});
私のビュー内の HTML は次のとおりです。
@section scripts
{
<script src="~/Scripts/ckeditor.js" type="text/javascript"></script>
<script src="~/Scripts/angular.js"></script>
<script src="~/Scripts/Main.js" type="text/javascript"></script>
}
<h2>Index</h2>
<textarea id="editor" name="editor"></textarea>
これは MVC アプリケーションであり、スクリプトはレイアウト ビュー内の本文の最後にレンダリングされます。
エディタはどのブラウザにも表示されません。私が理解しているように、contentsCss プロパティを設定するとうまくいくはずです。
スクリプト フォルダの下にスキンを配置すると、正常に動作します。生成されたソースで、/Scripts/Skins/moono... を指すヘッダーへのリンクを追加していることがわかりますが、/Styles/Skins/moono... への参照を追加したいのです。
私がやろうとしていることは実行可能ですか?もしそうなら、私はここで何が欠けていますか? 私はこれが簡単であることを期待していました。
回避策として、関連するリクエストを別の場所にリダイレクトするルーティング ルールをいくつか追加することもできますが、これを行う前に問題の真相を突き止めたいと思います。
さらに詳しい情報:
- 私のアプリケーションは ASP.net 4.5/MVC 4 アプリです。
- この問題を分類したら、angular を使用するので、angular を参照しています。angular へのすべての参照を削除しようとしましたが、問題は解決しません。
- 次の方法で contentsCss プロパティを設定しようとしました。
- CKEDITOR.config.contentsCss を直接使用する
- config.js ファイル内。このサンプルでは匿名関数を CKEDITOR.editorConfig に割り当て、そこで構成ファイルのエントリを操作できます。
- CKEditor オブジェクトで "replace" メソッドを呼び出すときに構成パラメーターを渡します。
- 置換の呼び出しの前後で、contentsCss プロパティを操作してみました。
- 最新バージョンの CKEditor (4.2) を使用しています