28

TinyMCE と一緒に MVC4 バンドルを使用すると問題が発生します。次のエラーが表示されます。

    GET http://localhost:54717/Admin/EditText//langs/da.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//plugins/lists/editor_plugin.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//plugins/autolink/editor_plugin.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//themes/advanced/editor_template.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//plugins/spellchecker/editor_plugin.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//plugins/pagebreak/editor_plugin.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//plugins/style/editor_plugin.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//plugins/table/editor_plugin.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//plugins/layer/editor_plugin.js 404 (Not Found) Site:1
    GET http://localhost:54717/Admin/EditText//plugins/save/editor_plugin.js 404 (Not Found)
Failed to load: http://localhost:54717/Admin/EditText//langs/da.js 

コードは次のようになります (BundleConfig.cs 内)

bundles.Add(
      new ScriptBundle("~/Scripts/Site").Include(
        "~/Scripts/jquery-1.9.1.js",
        "~/Scripts/tinymce/tiny_mce.js",
         "~/Scripts/jquery-ui-1.10.1.js",
        "~/Scripts/jquery.ui.slider.js",
        "~/Scripts/oline.Base.js",
        "~/Scripts/Validate/Language/jquery.validationEngine-da.js",
        "~/Scripts/Validate/jquery.validationEngine.js",
        "~/Scripts/jquery.ui.effect-blind.js",
        "~/Scripts/jquery.placeholder.min.js"));

      BundleTable.EnableOptimizations = true; 

そしてレイアウトで:

@Scripts.Render("~/Scripts/Site")

しかし、バンドルから tiny_mce.js を削除して、次のように配置すると、script src="~/Scripts/tinymce/tiny_mce.js"></script>問題なく動作します。tinymceによる自動ロードをオーバーライドして手動で行う必要があるためですか?

4

5 に答える 5

16

今日もこれに出くわしました。tinymce がバンドルされている場合、他の依存スクリプト (プラグイン、エディター テンプレートなど) を見つけることができないようです。

TinyMCE は既に縮小されているため、バンドルから除外して個別にロードするだけでこれを解決しました。このようなもの:

@* include tinymce unbundled so it can find its plugins and other scripts internally when bundles are optimized *@
@if (BundleTable.EnableOptimizations)
{
    <script type="text/javascript" src="~/scripts/tinymce/tiny_mce.js"></script>
}
else
{
    <script type="text/javascript" src="~/scripts/tinymce/tiny_mce_src.js"></script>
}

@Scripts.Render("~/Scripts/Site")

このようにして、最適化が有効になっている場合は縮小前のバージョンを使用し、デバッグ中は生のソース コードを使用します。ただし、ブラウザから複数のリクエストが送信されることになります。

于 2013-04-30T14:41:10.037 に答える