上传图像:无法读取未定义的属性“setCustomData”

2024-01-05

我正在尝试将上传的图像嵌入到编辑器中。我的filebrowserUploadUrl is /api/m/image它似乎工作正常。我点击后Send it to the Server按钮时,出现脚本错误,如下:

image.js?t=H4PG:19 Uncaught TypeError: Cannot read property 'setCustomData' 
of undefined
  at textInput.onChange (image.js?t=H4PG:19)
  at textInput.n (ckeditor.js:10)
  at textInput.CKEDITOR.event.CKEDITOR.event.fire (ckeditor.js:12)
  at textInput.setValue (ckeditor.js:619)
  at textInput.setValue (ckeditor.js:545)
  at a.q (ckeditor.js:841)
  at ckeditor.js:31
  at Object.callFunction (ckeditor.js:31)
  at image?CKEditor=editor&CKEditorFuncNum=1&langCode=en:1

上面的最后一行是调用filebrowserUploadUrl其响应是:

window.parent.CKEDITOR.tools.callFunction(1, '/images/bulletins.jpg', 'Uploaded successfully');

The Uploaded successfully消息显示在警报中。下的预览框Image Info选项卡未更新。但是,如果我单击“确定”关闭对话框,图像 (bulletins.jpg) 就会正确嵌入到编辑器中。

可能是什么原因导致该错误以及如何修复它?


我找到了造成这种情况的原因。我想在“插入图像”对话框启动到“上传”选项卡时设置默认选项卡。我使用以下代码:

CKEDITOR.on("dialogDefinition", function(ev) {
  var dialogName = ev.data.name;
  var dialogDefinition = ev.data.definition;
  if (dialogName === "image") {
    dialogDefinition.onShow = function() {
      this.selectPage("Upload");
    }
  }
});

当使用上述代码时,上传文件时会发生该错误。


我遇到了同样的问题,在使用 vikram 提出的解决方案后,编辑器在将图像链接粘贴到文本中时生成错误。这里有更好的方法,不要完全覆盖默认值onShow方法,但可以通过以下方式添加更多内容:

CKEDITOR.on('dialogDefinition', function (ev) {
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;

    if (dialogName == 'image') {

        var oldOnShow = dialogDefinition.onShow;
        var newOnShow = function () {
            this.selectPage('Upload');
            this.hidePage('Link');

            // change tabs order
            $('a[title=Upload].cke_dialog_tab').css('float', 'left');
        };

        dialogDefinition.onShow = function () {
            oldOnShow.call(this, arguments);
            newOnShow.call(this, arguments);
        };
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上传图像:无法读取未定义的属性“setCustomData” 的相关文章

  • 如何在CKeditor中添加音频标签

    我已经添加了html5audio插件并能够获取上传按钮 但如何将上传的文件发送到服务器 这是我的插件代码 id Upload hidden false filebrowser uploadButton label editor lang h
  • Ckeditor.js:211 - 无法设置未定义的属性“dir”(仅一个用户发生问题)

    由于某种原因 此错误出现 但仅在一台计算机上出现 并且 CKeditor 不会加载 Cannot set property of dir undefined line 211 ckeditor js 我已经在我的计算机中测试了相同的设置 没
  • Typo3 CKEditor 图片来自 FAL

    我使用 CKEditor 设置了全新的 TYPO3 8 7 4 安装 并且rte ckeditor image从 FAL 获取图像 在文档中rte ckeditor image它说 最大尺寸与魔法图像的配置有关 必须在 Page TSCon
  • 如何删除使用 django-ckeditor 上传的图像?

    我已经在 Django 管理界面的 CKEditor 中上传了一些图像 我可以通过单击编辑器中的 图像 按钮来浏览和选择图像 然后在弹出的窗口中单击 浏览服务器 这是弹出窗口的屏幕截图 我的问题是 如何删除服务器上的图像 不幸的是这是真的
  • 如何在CkEditor中右键单击添加附加菜单项?

    在CKeditor中 当我们右键单击图像时 会出现四个菜单项 cut copy paste image properties 我想再添加两个菜单项 test1 test2 gt subtest2 subtest3 test1 将是一个菜单
  • 如何在 React js 中管理 CKEditor 自定义插件的 onclick 事件?

    我想在react js 中为 CKEditor 5 创建一个自定义插件 如下所示 StackOverFlow 问题 CKEditor 5 通过外部 url 插入图像 https stackoverflow com questions 516
  • ckeditor“key”的使用 CKEDITOR.instances.editor.on('key', function (e){

    我意识到存在有关如何为 CKEDITOR 4 实现事件处理程序的问题 我可以使用此代码来获取按键按下数据 但我似乎无法在按键后获取数据 CKEDITOR instances editor on key function e document
  • 使用 JavaScript 打开和关闭 CKEditor 4 内联编辑

    我需要能够使用按钮打开 关闭内联编辑 请参阅此处的内联编辑示例 http nightly v4 ckeditor com 3559 samples inlineall html http nightly v4 ckeditor com 35
  • 如何在CKEditor中动态切换文本方向

    在我当前的项目中 用户可以用英语和希伯来语输入文本 根据当前文本自动定义方向会很棒 例如 如果文本包含希伯来语符号 则方向应为 RTL 但如果文本不包含希伯来语 则方向为 LTR 文本可以随时更改 我认为最好的解决方案是动态切换方向 就像在
  • CKEditor 5 通过外部 url 插入图像

    我想知道如何仅通过 URL 插入图像 用户从其他网站获取它 我需要实现一个简单的img 源 在 CKEditor 5 中 问题是 默认情况下 编辑器要求我上传图像 而我需要插入外部 url 我读过很多相关主题 1 https stackov
  • 您没有浏览服务器的权限?

    我将 kcfinder 与 ckeditor 一起使用 改变的同时disabled to false在 kcfinder 的配置文件中没有问题 但是用以下命令覆盖它 SESSION KCFINDER array disabled gt fa
  • 具有 DOM 操作的自定义插件 CKEditor 4.x

    我正在为 CKEditor 4 7 开发一个自定义插件 它做了一个简单的思考 以防用户选择一些东西 它会将其放入具有特定类的 div 中 否则它将放入一个具有相同类的 div 其中包含文本 例如 在此处添加内容 我尝试根据 CKEditor
  • 如何在 CKEditor 中更改已注册的对话框

    我正在尝试编写一个插件 向图像对话框添加一个附加选项卡 页面 我不想更改对话框的源本身 而是使用插件来增强它 我搜索文档和论坛已经有一段时间了 现在我知道我可以在对话框对象上调用 addPage 来添加另一个选项卡 我也了解内容对象必须是什
  • CKEditor 3.x - 动态添加 UI 元素到插件对话框

    我正在构建一个 CKEditor 3 x 插件 它允许通过与我们的后端系统绑定的单独查看器应用程序有条件地显示 HTML 的某些部分 我的 CKEditor 插件将用于定义这些条件 但我对如何动态地将 UI 元素添加到插件对话框感到困惑 在
  • 防止 CKEditor 添加“data-cke-saved”并转换 <

    我有 CKEditor 的 jQuery 实现 我们经常使用对话框将 HTML 标记添加到 A 标记的 标题 属性 然而 当我们这样做时 它会转换 HTML 代码 以便将其解析为文本 我们需要代码保持其输入时的确切形式 而不是在任何地方放置
  • CKEditor 4 构建(缩小和丑化)

    在我们的构建过程中 使用 grunt 我们将所有脚本连接 缩小和丑化为一个脚本 也意味着仅一个请求 现在 CKEditor 4 似乎正在使用模块样式加载方法 谁能告诉我如何将 CKEditor 4 包含到包含所有必需源的项目中 这样以后就不
  • CKEDITOR.styleSet.add - 'a' 元素的新样式

    由于某种原因如果我改变 p to a 它不再出现在样式列表中 有什么理由吗 CKEDITOR stylesSet add default name Wys wiersza 1 element p styles line height 18p
  • 如何判断CKEditor是否已加载?

    如何确定 CKEditor 是否已加载 我查看了API文档 但只能找到loaded事件 我想检查 CKEditor 是否已加载 因为如果我第二次加载它 我的文本区域就会消失 The loaded活动对我不起作用 instanceReady
  • 如何在 CKEDITOR.inline 之后使用 CKEDITOR.replace

    我在内联模式下使用 CKEDITOR 每页有多个编辑器 为了创建它们 我使用
  • 如何使用 TypeScript 和 Angular 2 将插件添加到 ng2-ckeditor ?

    我正在尝试添加Justify插件到我的 ckeditor 但不幸的是我找不到任何关于如何将插件添加到 ng2 ckeditor 的信息 另外 我找不到任何应该添加插件的目录或配置文件 我正在使用 ng2 ckeditor1 0 6使用 Ty

随机推荐