TinyMCE 4.X 默认的图片上传,有人踩坑么?


官方给的默认图片上传处理的代码是错误的,执行会报错:


 images_upload_handler: function (blobInfo, success, failure) {
        var xhr, formData;

        xhr = new XMLHttpRequest();
        xhr.withCredentials = false;
        xhr.open('POST', "postAcceptor.php");

        xhr.onload = function() {
            var json;

            if (xhr.status != 200) {
                failure("HTTP Error: " + xhr.status);
                return;
            }

            json = JSON.parse(xhr.responseText);

            if (!json || typeof json.location != "string") {
                failure("Invalid JSON: " + xhr.responseText);
                return;
            }

            success(json.location);
        };

        formData = new FormData();
        formData.append('file', blobInfo.blob(), fileName(blobInfo));

        xhr.send(formData);
    }

而默认的处理函数没有异常处理,导致 JSON.parse(xhr.responseText) 会抛出异常。无法正确调用 failure 回调。此外,默认的 failure 回调也不会显式地提示服务器返回的错误。

虽然自己改写了一个可以正常使用的函数,然而不明白的是,tinymce也算是使用范围比较广的富文本编辑器了,这种官方留的坑难道是故意的?网上竟然也没查到有人提出类似的问题。

富文本编辑器 在线编辑器 JavaScript

wdsfasd 9 years, 4 months ago

Your Answer