• 一些CKEditor定制问题


    调整CKEditor的basePath

    使用base标签,或者项目文件结构的原因,我们可能需要调整CKEditor的basePath。

    basePath: (function() {
                    // ATTENTION: fixes to this code must be ported to
                    // var basePath in "core/loader.js".
    
                    // Find out the editor directory path, based on its <script> tag.
                    var path = window.CKEDITOR_BASEPATH || '';
    
                    if ( !path ) {
                        var scripts = document.getElementsByTagName( 'script' );
    
                        for ( var i = 0; i < scripts.length; i++ ) {
                            var match = scripts[ i ].src.match( /(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i );
    
                            if ( match ) {
                                path = match[ 1 ];
                                break;
                            }
                        }
                    }
    
                    // In IE (only) the script.src string is the raw value entered in the
                    // HTML source. Other browsers return the full resolved URL instead.
                    if ( path.indexOf( ':/' ) == -1 ) {
                        // Absolute path.
                        if ( path.indexOf( '/' ) === 0 )
                            path = location.href.match( /^.*?:\/\/[^\/]*/ )[ 0 ] + path;
                        // Relative path.
                        else
                            path = location.href.match( /^[^\?]*\/(?:)/ )[ 0 ] + path;
                    }
    
                    if ( !path )
                        throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';
    
                    return path;
                })()

    可见,我们可以通过设置window.CKEDITOR_BASEPATH来调整CKEditor的basePath。

    自定义CKEditor的语言

    CKEditor可以根据浏览器来自动选择语言,但可能我们需要其和UI统一语言,而不是自动选择,这时候我们就需要自定义其语言。

    我们需要给Config的language属性定义成相应的语言。

    • 在repalce时传入config
    var idSelector = "editor1"; 
    
    CKEDITOR.replace(idSelector, {language: 'zh-cn'}); //设置成简体中文
    • 在editor实例生成时自动设置
    CKEDITOR.on('instanceCreated', function(event){ // 当editor实例创建时
      var editor = event.editor;
    
      editor.on('configLoaded', function(){ // 当实例载入config时
        editor.config.language = "zh-cn"; // 修改成简体中文
      });
    
    };

    Advanced Content Filter

    CKEditor会自动开启内容过滤器,其会对节点的属性进行过滤,可是我们可能不希望其过滤,可以通过设置config.allowedContent为true,来关闭该功能。

    这样CKEditor就仅仅是富文本编辑器了。

  • 相关阅读:
    [原创]存储过程,insert,case when then,处理性别问题 Virus
    [原创]c#,数据结构,栈 Virus
    [原创]软件自动化测试和.NET中的反射 Virus
    [原创]反射,.NET,委托 Virus
    《博客园精华集--NET3.x分册》第三轮结果
    (翻译)《Expert .NET 2.0 IL Assembler》 详要目录 更新到第8章
    MSIL翻译中的问题贴
    (翻译)《Expert .NET 2.0 IL Assembler》 第一章 简单示例 1.2 简单示例(二)
    (翻译)《Expert .NET 2.0 IL Assembler》 第一章 简单示例 1.2 简单示例(一)
    第三轮进度汇总
  • 原文地址:https://www.cnblogs.com/justany/p/3063934.html
Copyright © 2020-2023  润新知