首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >CKEditor:使用dialogDefinition.onShow()抛出未定义的C.preview

CKEditor:使用dialogDefinition.onShow()抛出未定义的C.preview
EN

Stack Overflow用户
提问于 2012-03-07 08:16:31
回答 2查看 2.8K关注 0票数 2

修改CKEditor 3.6.2并不容易,但是我尽力了。一个仍未解决的问题是:

在config.js中我们有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CKEDITOR.on( 'dialogDefinition', function( ev ) {
  var dialogName = ev.data.name;
  var dialogDefinition = ev.data.definition;
  if(dialogName == 'image') {
    dialogDefinition.onShow = function () {
        var dialog = CKEDITOR.dialog.getCurrent(); 

        var elem = dialog.getContentElement('info','htmlPreview');  
        elem.getElement().hide();
        // and more stuff to do...
    };

}
});

加载编辑器后,用户上传了图像后,引发以下javascript错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Error: C.preview is undefined
Source File: wysiwyg-editor/plugins/image/dialogs/image.js?t=B8DJ5M3
Line: 8

dialogDefinition.onShow似乎导致了这个错误,因为从代码中删除了所有元素,并且只有调用onShow才会弹出错误。使用onLoad确实有效!在其他对话框上使用onShow很好,只有图像对话框不能正常工作。

顺便说一句,我在CKEditor论坛上问过,但没人接。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-28 10:11:51

我在寻找解决方案的时候偶然发现了这个。我想我会发布我最终做了什么来解决它,尽管不是100%的理想。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CKEDITOR.on( 'dialogDefinition', function( ev ) {
  var tab, field, name = ev.data.name,
      definition = ev.data.definition;

  if( name == 'image' )
  {
    tab = definition.getContents( 'info' );
    field = tab.get( 'htmlPreview' );
    field.style = 'display: none';
  }
});

这使得预览窗口可用于处理,只需将其隐藏在对话框窗口中即可。

票数 3
EN

Stack Overflow用户

发布于 2019-02-20 08:21:30

这样使用CKEDITOR.tools.setTimeout():

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CKEDITOR.on('dialogDefinition', function(ev) {
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;
    var dialog = dialogDefinition.dialog;
    if (dialogName == 'image2') {
        dialogDefinition.onShow = CKEDITOR.tools.override(dialogDefinition.onShow, function(original) { 
            return function() {
                original.call(this);
                CKEDITOR.tools.setTimeout( function() {
                    if (dialog.getContentElement('info', 'src').getValue() == '') {
                        dialog.selectPage('Upload');
                    }
                }, 0);
            }
        });
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9605154

复制
相关文章
【OpenGL】八、初始化 OpenGL 渲染环境 ( 导入 OpenGL 头文件 | 链接 OpenGL 库 | 将窗口设置为 OpenGL 窗口 | 设置像素格式描述符 | 渲染绘制 ) ★
上一篇博客 【OpenGL】七、桌面窗口搭建 ( 导入头文件 | 桌面程序入口函数 | 注册窗口 | 创建窗口 | 显示窗口 ) 完成了 桌面初始化的操作 , 注册桌面窗口 , 创建桌面窗口 , 显示桌面窗口 ;
韩曙亮
2023/03/28
1.7K0
【OpenGL】八、初始化 OpenGL 渲染环境 ( 导入 OpenGL 头文件 | 链接 OpenGL 库 | 将窗口设置为 OpenGL 窗口 | 设置像素格式描述符 |  渲染绘制 ) ★
Android OpenGL开发实践 - GLSurfaceView对摄像头数据的再处理
文首先对GLSurfaceView相关知识进行讲解,然后介绍Android系统如何获取摄像头数据并利用GLSurfaceView渲染到屏幕上。
天天P图攻城狮
2018/02/02
13.1K0
Android OpenGL开发实践 - GLSurfaceView对摄像头数据的再处理
TRTCSDK自定义采集Texture2D视频通话
摄像头通话功能,是TRTCSDK对系统摄像头进行了封装,采集摄像头数据,编码传输通话。
腾讯云-chaoli
2020/12/04
1.4K1
TRTCSDK自定义采集Texture2D视频通话
ShareREC for iOS录屏原理解析
众所周知,由于iOS系统的封闭性,也出于保护用户隐私的角度,苹果并没有公开的API供开发者调用,来录制屏幕内容。导致许多游戏或者应用没有办法直接通过调用系统API的方式提供录制功能,用户也无法将自己一些玩游戏的过程录制下来分享到其他玩家。基于此,ShareREC应运而生。下面我们从说一下ShareREC的录屏的实现原理。
LiveVideoStack
2021/09/02
1.7K0
ShareREC for iOS录屏原理解析
TRTCSDK自定义采集Texture2D视频通话
摄像头通话功能,是TRTCSDK对系统摄像头进行了封装,采集摄像头数据,编码传输通话。
ppchao
2020/12/03
1.7K0
TRTCSDK自定义采集Texture2D视频通话
TRTCSDK自定义采集Texture2D视频通话
摄像头通话功能,是TRTCSDK对系统摄像头进行了封装,采集摄像头数据,编码传输通话。
ppchao
2020/12/03
1.3K1
TRTCSDK自定义采集Texture2D视频通话
OpenGL进行简单的通用计算实例
博主作为OpenGL新手,最近要用OpenGL进行并行的数据计算,突然发现这样的资料还是很少的,大部分资料和参考书都是讲用OpenGL进行渲染的。好不容易找到一本书《GPGPU编程技术,从OpenGL、CUDA到OpenCL》,里面对并行处理的发展进行了系统性的介绍,还是很不错的。小白博主很兴奋,看完书中第三章后恍然大悟了很多,就贴出书中代码3-3的例子,实现一番,并用一副图片数据做了实现。 实现环境:Window7 32bit, VS2013+OpenGL3.3+GLEW+GLFW。 OpenGL用来进行
一棹烟波
2018/01/12
2.1K0
OpenGL进行简单的通用计算实例
一看就懂的 OpenGL 基础概念(4):各种 O 之 FBO丨音视频基础
这个公众号会路线图式的遍历分享音视频技术:音视频基础 → 音视频工具 → 音视频工程示例 → 音视频工业实战。关注一下成本不高,错过干货损失不小 ↓↓↓
关键帧
2022/11/29
2.1K0
一看就懂的 OpenGL 基础概念(4):各种 O 之 FBO丨音视频基础
【Android 音视频开发打怪升级:OpenGL渲染视频画面篇】五、OpenGL FBO数据缓冲区
上一篇文章,讲解了如何使用EGL,并且提到EGL可以建立一个离屏渲染的缓冲区,这种离屏渲染的方式通常用于模拟整个渲染窗口,比如可以用于FFmpeg软编码,将显示在虚拟窗口中的画面编码成H264。
开发的猫
2020/04/02
2.8K0
【Android 音视频开发打怪升级:OpenGL渲染视频画面篇】五、OpenGL FBO数据缓冲区
OpenGL 从入门到成魔-第2章-创建 OpenGL 窗口
注:参考自bilibili系列视频,OpenGL 从入门到成魔-第2章-创建 OpenGL 窗口https://www.bilibili.com/video/BV1Uz411v7mN
瑶瑶
2020/06/03
7470
OpenGL ES 2.0 (iOS)[01]: 一步从一个小三角开始
1). 三个什么端点(屏幕坐标点)? 要回答这个问题要先了解 OpenGL ES 的坐标系在屏幕上是怎样分布的:
半纸渊
2018/09/04
2.2K0
OpenGL ES 2.0 (iOS)[01]: 一步从一个小三角开始
OpenGL ES 如何一次性渲染到多个纹理?
OpenGL ES 多目标渲染(MRT),即多重渲染目标,是 OpenGL ES 3.0 新特性,它允许应用程序一次渲染到多个缓冲区。
字节流动
2022/02/09
3.1K0
OpenGL ES 如何一次性渲染到多个纹理?
OpenGL ES 多目标渲染(MRT)
OpenGL ES 多目标渲染(MRT),即多重渲染目标,是 OpenGL ES 3.0 新特性,它允许应用程序一次渲染到多个缓冲区。
字节流动
2020/10/12
3K0
OpenGL ES 文字渲染
在音视频或 OpenGL 开发中,文字渲染是一个高频使用的功能,比如制作一些酷炫的字幕、为视频添加水印、设置特殊字体等等。
字节流动
2021/06/24
1.9K0
OpenGL ES 文字渲染
音视频技术基础(四)-- OpenGL
既然是学习音视频技术,那必然少不了渲染这个环节,OpenGL就是进行图形渲染的一个重要角色。
黑眼圈云豆
2020/07/10
2K0
OpenGL 之 帧缓冲 使用实践
帧缓冲(Framebuffer Object),简称 FBO,在渲染绘制中, 图像最终都是绘制到 FBO 上的,一般都是默认的 FBO 上,也就是我们的屏幕。
音视频开发进阶
2019/07/25
1.6K0
iOS下 WebRTC 视频渲染
今天为大家介绍一下 iOS 下 WebRTC是如何渲染视频的。在iOS中有两种加速渲染视频的方法。一种是使用OpenGL;另一种是使用 Metal。
音视频_李超
2020/04/02
2.2K0
iOS下 WebRTC 视频渲染
「Android音视频编码那点破事」序章
  其实这一两年关于Android 平台的视频编解码学习资料已经很多了,包括书籍和网上的一些公开教程。书籍讲得详细一点,所以推荐大家去买些书籍看看。而网上的资料的话,大多是零星点点,新手学习起来并不是很轻松,包括我。所以这也是促使本人对这一块知识做记录的原因。   我打算开几个章节来分享一下相关的知识点,因为想详细展开,内容可能有点多,也算是做一些个人笔记。
阿利民
2022/05/16
3840
「Android音视频编码那点破事」序章
RenderDemo(1):用 OpenGL 画一个三角形丨音视频工程示例
这个公众号会路线图式的遍历分享音视频技术:音视频基础 → 音视频工具 → 音视频工程示例 → 音视频工业实战。关注一下成本不高,错过干货损失不小 ↓↓↓
关键帧
2022/11/29
1.3K0
RenderDemo(1):用 OpenGL 画一个三角形丨音视频工程示例
OpenGL与OpenGL在移动端的应用
OpenGL首先我们从字面意思来理解:Open Graphics Library,开放的图形库,图形库自然是处理图形的,所以简单来说OpenGL就是用来处理图形的一个三方库。 稍微技术流一点,作如下解释:是用于渲染2D,3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。
清墨
2019/11/15
2.7K0
OpenGL与OpenGL在移动端的应用

相似问题

从FBO到屏幕的OpenGL渲染

10

OpenGL渲染到FBO

10

OpenGL:使用多个纹理渲染到FBO

11

OpenGL ES :预渲染为FBO纹理

11

将OpenGL FBO纹理渲染为GLXPixmap

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文