上传图像:无法读取未定义的属性“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 - 修改 BBCode 输出

    我正在为我的网站构建一个 php 论坛应用程序 主要是为了看看我是否可以成功 作为一名业余爱好者 我已经从事 Web 开发近 20 年了 但我总是避免使用 javascript 这意味着我已经非常擅长使用 html css 和 php 但当
  • 如何防止 ckeditor 不在空白 html 标签中添加

    我在 Windows 8 1 操作系统中安装了 Visual Studio 2012 Express 并根据要求在我的项目中使用 CKEditor 我是 CKEditor 的新手 也以正确的方式使用它 但问题是通过在 CKEditor 中的
  • â�� 在我的 purify 后的 html 中

    我有一个数据库 我正在重建表结构 这很糟糕 所以我将一些数据从一个表移植到另一个表 这些数据似乎是从 MSO 产品复制粘贴的 因此当我获取数据时 我使用 htmlpurifier 和 php 中的一些 str replace 对其进行清理
  • 在 CKEditor 中的元素之前插入 HTML

    在 CKEditor 中的现有元素之前以编程方式插入 HTML 代表 CKEditor 小部件 的最佳方法是什么 可编辑内容未获得焦点且当前未被编辑 例如 假设编辑器的内容是 h1 Here s a title h1 h2 Here s a
  • CKeditor 添加类到 img 标签

    我正在尝试向 CKeditor 中任何插入的 img 标签添加一个类 我尝试了各种方法 但似乎无法弄清楚这个插件的设置是如何工作的 虽然文档很多 但只提到需要添加代码 但没有提到应该添加到哪里 文件很多 我尝试将其添加到 config js
  • CKEditor:删除“链接类型”选项,但将 URL 设置为默认链接类型?

    我正在使用 CKEditor 的链接插件 并且尝试删除 链接类型 选项 以便用户可以在 URL 字段中输入地址 而不必设置 链接类型 选项 当我使用下面的代码时 它会删除 链接类型 选项 但是当您尝试单击它创建的链接时 它不会按预期打开链接
  • Ckeditor.js:211 - 无法设置未定义的属性“dir”(仅一个用户发生问题)

    由于某种原因 此错误出现 但仅在一台计算机上出现 并且 CKeditor 不会加载 Cannot set property of dir undefined line 211 ckeditor js 我已经在我的计算机中测试了相同的设置 没
  • CKEditor 插件按钮在源模式下禁用

    我试图在 CKEditor 中添加我自己的工具栏按钮 在 vBulletin 内 以下是我的代码 CKEDITOR plugins add app init function editor editor addCommand AppWidg
  • ng2-ckeditor 404(未找到)

    我使用 cmd npm install ng2 ckeditor 添加了 ng2 CKEDitor 安装得很好 有一个例子https www npmjs com package ng2 ckeditor https www npmjs co
  • 如何在 React js 中管理 CKEditor 自定义插件的 onclick 事件?

    我想在react js 中为 CKEditor 5 创建一个自定义插件 如下所示 StackOverFlow 问题 CKEditor 5 通过外部 url 插入图像 https stackoverflow com questions 516
  • Yii ,从 $_FILES 保存图像,但不使用模型

    这可能吗 这是有模型的 CUploadedFile getInstance model newsimage model gt image gt saveAs image path 但我不想创建模型只是为了保存我的图像 我实际上需要这个的目的
  • HTMLPurifier 破坏图像

    我试图根据 WYSIWYG CK 编辑器 的用户输入运行 HTMLPurifier 但图像损坏 未过滤的输入 img alt laugh src lib ckeditor plugins smiley images teeth smile
  • 如何删除ckeditor中的表单工具并调整大小

    我在我的项目中使用 CKEditor 我的要求是删除 FORM TOOLS 并设置 CKEditor 的大小ADJUSTABLE 到目前为止 我已成功在网页中显示编辑器 我已经搜索过谷歌 但不幸的是我什么也没得到 请帮助我解决这个问题 试试
  • 如何在CKEditor激活时在HTML5文本区域中显示占位符属性?

    我在 HTML5 网站中有一个文本区域 具有适当的占位符 示例文本 属性 在我通过 CKEditor 添加 RichText 支持之前 它显示得很好 CKEditor GUI 正在重新创建文本区域 并且不显示其中的占位符文本 有没有办法在
  • 在 CKEditor 4.x 中,有没有办法在初始化后获取允许的标签列表?

    有没有办法获取 CKEditor 4 x 准确地说是 4 4 7 中所有允许标签的列表after编辑器已使用所有插件进行初始化 并且所有allowedContentRules and disallowedContentRules或已应用任何
  • iframe 中元素的 CKEditor 内联编辑器

    在应用程序中 我在 iframe 中有内容可编辑元素 并且希望将内联 CKEditor 应用于这些元素 它可以工作 除非我滚动 iframe 时 CKEditor 工具栏不会随之滚动 是否有特殊标志或某种方法可以让工具栏随 iframe 内
  • 当 br 位于允许的内容中时,ckeditor 会删除

    当我将 br 添加到 ckeditor 允许的内容并添加 br 标签正在被更改为 br 但是当我添加 br 它正在被删除 为什么当 br 属于允许的内容时它会被删除 有什么建议么 您的帖子中缺少一些内容 不知道为什么 也不知道您想说什么 如
  • 防止 CKEditor 添加“data-cke-saved”并转换 <

    我有 CKEditor 的 jQuery 实现 我们经常使用对话框将 HTML 标记添加到 A 标记的 标题 属性 然而 当我们这样做时 它会转换 HTML 代码 以便将其解析为文本 我们需要代码保持其输入时的确切形式 而不是在任何地方放置
  • 如何找到我的 typescript/react 模块的声明?

    我对前端技术非常 非常 陌生 特别是 React 和 TypeScript 当尝试做一件简单的事情 即使用反应组件时 我的问题出现了https github com ckeditor ckeditor5 https github com c
  • ckeditor 4.5 fileUploadRequest 事件未触发

    我有一个 html id 为 id textarea 的文本区域 editor CKEDITOR inline id textarea filebrowserBrowseUrl browse url filebrowserUploadUrl

随机推荐