Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TinyMCE4文件\u选择器\u回调-返回其他参数_Javascript_Callback_Tinymce_Tinymce 4_Filepicker - Fatal编程技术网

Javascript TinyMCE4文件\u选择器\u回调-返回其他参数

Javascript TinyMCE4文件\u选择器\u回调-返回其他参数,javascript,callback,tinymce,tinymce-4,filepicker,Javascript,Callback,Tinymce,Tinymce 4,Filepicker,我使用自己的自定义文件选择器和TinyMCE 4的新文件选择器回调函数。这方面的文档不是很好,所以弗雷德帮了我这么多 自定义文件选择器正在工作,当您单击图像时,它将填充“源”和“尺寸”。我只是想知道是否有任何方法可以自动填写“图像描述”字段 图像的信息是从数据库表中生成的,因此我已经有了一个描述,如果能自动为用户填写,那就太好了。在尝试了各种方法将数据传回之后,我很难理解如何才能做到这一点 TinyMCE的代码: tinymce.init({ ... file_picker_ca

我使用自己的自定义文件选择器和TinyMCE 4的新文件选择器回调函数。这方面的文档不是很好,所以弗雷德帮了我这么多

自定义文件选择器正在工作,当您单击图像时,它将填充“源”和“尺寸”。我只是想知道是否有任何方法可以自动填写“图像描述”字段

图像的信息是从数据库表中生成的,因此我已经有了一个描述,如果能自动为用户填写,那就太好了。在尝试了各种方法将数据传回之后,我很难理解如何才能做到这一点

TinyMCE的代码:

tinymce.init({
    ...
    file_picker_callback: function(callback, value, meta) {
        myImagePicker(callback, value, meta);
    }
});

function myImagePicker(callback, value, meta) {
    tinymce.activeEditor.windowManager.open({
        title: 'Image Browser',
        url: '/media/browser/1?type=' + meta.filetype,
        width: 800,
        height: 550,
    }, {
        oninsert: function (url) {
            callback(url);
        }
    });
};
自定义文件选择器的代码:

$(function(){
    $('.img').on('click', function(event){
        mySubmit('/upload/' + $(this).data('filename'));
    });
});

function mySubmit(url) {
    top.tinymce.activeEditor.windowManager.getParams().oninsert(url);
    top.tinymce.activeEditor.windowManager.close();
}

我的javascript知识还不是最渊博的,因为我对它还很陌生,因此,如果您能用示例和/或清晰的逻辑来说明任何答案,这将非常有用,非常感谢。

我也遇到了同样的问题,并提出了以下解决方案:

  • myImagePicker
    函数更新为(注意
    oninsert
    函数的新
    objVals
    参数):

  • mySubmit
    函数更新为(注意传递给
    oninsert
    objVals
    参数):

  • 更新调用
    mySubmit
    的位置,以填充
    objVals
    对象

    例如:

    mySubmit("https://google.com", { text: "Go To Google", target: '_blank' });
    
    objVals
    要填写的属性根据调用对话框的类型而变化,并且(部分)记录了这些属性

    对于“链接”对话框:

    mySubmit("https://google.com", { text: "Go To Google", target: '_blank' });
    
    对于“图像”对话框:

    mySubmit("image.jpg", { alt: "My image" });
    
    对于mediadialog:

    mySubmit("movie.mp4", {source2: 'movie-alt.ogg', poster: 'movie-image.jpg'});
    

  • 我几乎对这件事放弃了希望,但在我发帖6周后,一个名叫杰森的英雄出现了,并且第一次把它做好了。这对我来说非常有效。非常感谢您抽出时间回复@拉森:在这种情况下,你应该接受答案
    mySubmit("image.jpg", { alt: "My image" });
    
    mySubmit("movie.mp4", {source2: 'movie-alt.ogg', poster: 'movie-image.jpg'});