mor*_*rck 27 bundle tinymce asp.net-mvc-4
我在使用MVC4 Bundling和TinyMCE时遇到了问题.我收到此错误:
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
Run Code Online (Sandbox Code Playgroud)
代码看起来像这样(在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;
Run Code Online (Sandbox Code Playgroud)
在布局中:
@Scripts.Render("~/Scripts/Site")
Run Code Online (Sandbox Code Playgroud)
但是,如果我删除tiny_mce.js形成捆绑并将其放置如此< script src="~/Scripts/tinymce/tiny_mce.js"></script>它工作得很好.是因为我需要通过tinymce覆盖自动加载并手动放置吗?
Cod*_*ula 29
在调用tinymce.init之前,请执行以下操作:
tinymce.baseURL = "@Url.Content("~/Scripts/tinymce")";
Run Code Online (Sandbox Code Playgroud)
或者保存脚本的地方.
我有同样的问题.这是我的最终产品
<script>
tinymce.baseURL = "@Url.Content("~/Scripts/tinymce")";
// tinyMCE setup
tinymce.init({
selector: "textarea.rt-edit",
browser_spellcheck: true,
menubar: false,
plugins: "paste,preview,code,textcolor,link",
invalid_elements: "script",
// Theme options - button# indicated the row# only
toolbar1: "bold italic underline strikethrough subscript superscript link | fontselect fontsizeselect forecolor backcolor | justifyleft justifycenter justifyright cut copy paste pastetext pasteword| outdent indent | undo redo | code preview ",
});
</script>
Run Code Online (Sandbox Code Playgroud)
dan*_*wig 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")
Run Code Online (Sandbox Code Playgroud)
这样,在启用优化时,您仍在使用预缩小版本,在调试时仍使用原始源代码.它最终会导致浏览器发送多个请求.
@Codeacula有一个很好的解决方案,但另一种方法是将bundle路径相对于TinyMCE文件夹.
请注意,您必须将其拉出主脚本包,使这项工作的,但我不使用每一页上TinyMCE的,有没有意义的将它添加到主束.另外,我使用.min.js作为扩展名,因为它根据主文件扩展名加载插件,而我的插件文件夹中除了.min.js文件之外什么也没有.
var tinymce = new ScriptBundle("~/Scripts/tinymce/tinymce-bundle.min.js")
.Include("~/Scripts/tinymce/tinymce.min.js");
bundles.Add(tinymce);
Run Code Online (Sandbox Code Playgroud)
在需要TinyMCE的页面上:
@Scripts.Render("~/Scripts/tinymce/tinymce-bundle.min.js");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7043 次 |
| 最近记录: |