You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Apex 22.2.1富文本编辑器无法配置只读模式求助

Oracle Apex 22.2.1富文本编辑器只读模式配置报错问题

我使用Oracle Apex 22.2.1版本的富文本编辑器,编写了如下初始化代码:

function(options){
    // 禁用自动格式化功能
    options.editorOptions.removePlugins.push('Autoformat');
    options.editorOptions.enableReadOnlyMode( 'my-feature-id' ); // 也曾替换为true
    // 应用自定义工具栏
    options.editorOptions.toolbar = [
        'heading', 'bulletedList', 'numberedList', 'fontSize', 'undo', 'redo'
    ];
    return options;
}

尝试传入ID或布尔值true调用enableReadOnlyMode配置只读模式时,均出现如下错误:

TypeError: options.editorOptions.enableReadOnlyMode is not a function

请问我遗漏了什么配置?


问题原因及解决方法

enableReadOnlyMode是CKEditor编辑器实例对象的方法,并非初始化配置对象options.editorOptions的属性或方法,你在编辑器实例化前就调用该方法,自然会报错。

解决方式1:初始化时直接设置全局只读

如果只需要全局只读,直接在配置对象中添加readOnly属性即可:

function(options){
    // 禁用自动格式化功能
    options.editorOptions.removePlugins.push('Autoformat');
    // 初始化时设置全局只读
    options.editorOptions.readOnly = true;
    // 应用自定义工具栏
    options.editorOptions.toolbar = [
        'heading', 'bulletedList', 'numberedList', 'fontSize', 'undo', 'redo'
    ];
    return options;
}

解决方式2:通过特性ID控制只读(实例化后调用方法)

如果需要基于特定特性ID控制只读范围,要在编辑器实例化完成后调用enableReadOnlyMode,可以通过配置中的listeners监听ready事件实现:

function(options){
    // 禁用自动格式化功能
    options.editorOptions.removePlugins.push('Autoformat');
    // 应用自定义工具栏
    options.editorOptions.toolbar = [
        'heading', 'bulletedList', 'numberedList', 'fontSize', 'undo', 'redo'
    ];
    // 监听编辑器初始化完成事件,实例化后调用只读方法
    options.editorOptions.listeners = {
        ready: function(editor) {
            editor.enableReadOnlyMode('my-feature-id');
        }
    };
    return options;
}

内容的提问来源于stack exchange,提问作者Android

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 03:05:49