Asp.net mvc “编辑图像”对话框失败
我在.NETMVC4项目中与CKEditor合作。在localhost上,所有这些都可以正常工作,但在将项目发布到服务器后,没有初始化:Asp.net mvc “编辑图像”对话框失败,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,ckeditor,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Ckeditor,我在.NETMVC4项目中与CKEditor合作。在localhost上,所有这些都可以正常工作,但在将项目发布到服务器后,没有初始化: "Uncaught TypeError: Cannot set property 'dir' of undefined" 我通过在编辑器初始化之前添加代码行修复了此问题: CKEDITOR.basePath='//某些url/CKEDITOR/' 之后,ckeditor正在工作,但拒绝打开图像上载对话框: ckeditor插件image.js中出错 Un
"Uncaught TypeError: Cannot set property 'dir' of undefined"
我通过在编辑器初始化之前添加代码行修复了此问题:
CKEDITOR.basePath='//某些url/CKEDITOR/'
之后,ckeditor正在工作,但拒绝打开图像上载对话框:
ckeditor插件image.js中出错
Uncaught Error: [CKEDITOR.dialog.openDialog] Dialog "image" failed when loading definition.
我的ckeditor文件夹中没有任何更改。版本为:4.4.5
有什么解决方案吗?请检查浏览器中的“网络”选项卡,查看HTTP 404错误。似乎包含图像对话框定义的文件不可用。要么它不存在(例如,被意外删除),要么你有一些奇怪的url重写问题。检查你的
CKEDITOR。basePath
plugins文件夹图像插件在那里,如果没有,那么添加它,wala就像一个魔咒一样工作!希望有帮助 发行
从4.13开始,仅在服务器上包含ckeditor.js
(或ckeditor4.js
)文件会导致此错误,当CKE尝试加载插件和语言等其他功能,但在basepath文件夹中找不到这些文件时,会引发此错误。您可以在浏览器devtools中的“网络”选项卡中确认这一点,因为CKE尝试加载功能,但找不到这些功能
选项1:链接到CDN捆绑包
CKE提供3个主要捆绑包(基本、标准、完整),可在功能和页面加载之间进行选择
选项2:包括必要的文件
使额外的文件在服务器上可用。
这里有一个gulp任务,它捆绑了来自ckeditor节点模块文件夹(不包括示例)的所有内容
选项3:构建并托管您自己的定制包
如果要使用单个文件加载,可以使用允许自定义内置插件的
gulp.task("copy-ckeditor", function () {
// Check and copy languages in config.ckEditorLanguages
var isIncluded = function(path) {
var found = false,
lang = path.split('lang')[1];
if (lang) {
for (var i in config.ckEditorLanguages) {
if (lang.indexOf(config.ckEditorLanguages[i]) != -1) {
found = true;
}
}
}
return found;
},
copyFile = function(stream) {
stream.pipe(gulp.dest(config.buildPath.js + "lib/ckeditor"));
};
return gulp.src([
"node_modules/ckeditor/**/*.*",
"!node_modules/ckeditor/samples",
"!node_modules/ckeditor/samples/**/*"
])
.pipe(foreach(function(stream, file){
if (file.path.indexOf("lang") != -1) {
if (isIncluded(file.path)) {
copyFile(stream);
}
} else {
copyFile(stream);
}
return stream;
}));
});