4

ASP.NET MVC 4 を使用して Web アプリケーションを開発しており、コンテンツの編集に CKEditor を使用しようとしています。
デバッグでは、バンドルや縮小が行われていない限りすべて正常に動作しますが、これが行われるとすぐに、baseHref を設定していても CKEditor が間違った URL を生成します。

CKEDITOR.replace('ckeditor',
{
    autoUpdateElement: true,
    baseHref: '@Url.Content("~/Scripts/ckeditor/")',
    filebrowserImageUploadUrl: '/Uploads/Upload'
});

デバッグには以下が含まれます。

<script src="/Scripts/ckeditor/ckeditor.js"></script>

そして、バンドル/縮小後は次のとおりです。

<script src="/bundles/ckeditor?v=dLE-_JqB4vxXJ9idGep_8yUL8KfOwGhfYoEZAeIudoE1"></script>

そして、次の JS ファイルを読み込もうとします。

http://DOMAIN.net/CONTROLLER/ACTION/config.js?t=D26D

次のように間違っています。

http://DOMAIN.net/Scripts/ckeditor/config.js?t=D26D

私が間違っていること、またはこれを修正する方法を誰かが知っていますか?
あるいは、その問題を回避するために、その 1 つのバンドルのバンドル化/縮小化を無効にすることもできます。

4

4 に答える 4

10

ckeditor の js ファイルをインクルードする前に、次のコンテンツを追加してみてください。

<script type="text/javascript">
    var CKEDITOR_BASEPATH = '@Url.Content("~/Scripts/ckeditor/")';
</script>

詳細: http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Specifying_the_Editor_Path

また、ckeditor 4.x でも動作します。

于 2013-05-05T13:36:45.020 に答える
4

同様の問題がありましたが、これが機能することがわかりました。cshtml レイアウト ファイルに含めます。

<script>
  CKEDITOR.basePath = "@Url.Content("~/lib/ckeditor/")";
</script>

またはJQueryを使用

$(document).ready(function() { 
  CKEDITOR.basePath = "@Url.Content("~/lib/ckeditor/")"; 
});
于 2013-03-24T13:50:47.613 に答える
0

I met the same problem. In fact, the bundle system trouble the ckeditor loading. So you can avoid it doing the following :

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Script/CKEditor/ckeditor.js")
@Scripts.Render("~/Script/CKEditor/adapters/jquery.js")
于 2016-03-30T21:07:35.677 に答える