首页 > 解决方案 > CKFinder 3'无法设置未定义的属性'filebrowserBrowseUrl'

问题描述

我是 Javascript 新手。我有一个 CKEditor 文本框,并想将 CKFinder 添加到其中。我已按照此处的说明进行操作:

https://ckeditor.com/docs/ckfinder/ckfinder3/#!/guide/dev_ckeditor

但是当我尝试执行代码时,出现以下错误:

未捕获的类型错误:无法在 Object.setupCKEditor (ckfinder.js:5) 设置未定义的属性“filebrowserBrowseUrl”

这是定义 filebrowserBrowseUrl 的 Javascript 块:

CKEDITOR.replace( 'current_answer',
{
    filebrowserBrowseUrl      : '/ckfinder/ckfinder.html',
    filebrowserImageBrowseUrl : '/ckfinder/ckfinder.html?type=Images',
    filebrowserFlashBrowseUrl : '/ckfinder/ckfinder.html?type=Flash',
    filebrowserUploadUrl      : '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
    filebrowserImageUploadUrl : '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
    filebrowserFlashUploadUrl : '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
});

    
CKFinder.setupCKEditor( current_answer );

我正在使用最新版本的 CKEditor 版本 4 和最新版本的 CKFinder 版本 3。

当我注释掉这一行时,我得到了同样的错误:

filebrowserBrowseUrl      : '/ckfinder/ckfinder.html',

任何帮助将不胜感激 - 谢谢!

标签: javascriptckeditorckfinder

解决方案


看起来 CKEDITOR.replace 返回一个您需要传递给 CKFinder.setupCKEditor 的对象,但您目前没有保存它。

尝试:

let current_answer = CKEDITOR.replace( 'current_answer',
{
    filebrowserBrowseUrl: '/ckfinder/ckfinder.html',
    filebrowserImageBrowseUrl: '/ckfinder/ckfinder.html?type=Images',
    filebrowserFlashBrowseUrl: '/ckfinder/ckfinder.html?type=Flash',
    filebrowserUploadUrl: '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
    filebrowserImageUploadUrl: '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
    filebrowserFlashUploadUrl: '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
});


CKFinder.setupCKEditor( current_answer );

推荐阅读