TinyMCE4 file_picker_callback - 返回附加参数
Posted
技术标签:
【中文标题】TinyMCE4 file_picker_callback - 返回附加参数【英文标题】:TinyMCE4 file_picker_callback - return additional params 【发布时间】:2014-09-14 00:28:20 【问题描述】:我正在使用我自己的自定义文件选择器和 TinyMCE 4 的新 file_picker_callback 函数。这方面的文档不是很好,所以感谢 Fred 让我走到了这一步 - https://***.com/a/24571800/2460995
自定义文件选择器正在工作,当您单击图像时,它会填充“来源”和“尺寸”。我只是想知道是否有任何方法可以自动填写“图片描述”字段。
图像的信息是从数据库表中生成的,所以我已经有了描述,如果能自动为用户填写它会很好。在尝试了各种传回数据的方法后,我很难理解如何做到这一点。
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 知识还不是最丰富的,因为我对它很陌生,所以如果你能用示例和/或清晰的逻辑来说明任何答案,这将非常有用和非常感谢。
【问题讨论】:
【参考方案1】:我遇到了同样的问题,并想出了以下解决方案:
将您的myImagePicker
函数更新为(注意oninsert
函数的新objVals
参数):
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, objVals)
callback(url, objVals);
);
;
将mySubmit
函数更新为(注意传递给oninsert
的objVals
参数):
function mySubmit (url, objVals)
top.tinymce.activeEditor.windowManager.getParams().oninsert(url, objVals);
top.tinymce.activeEditor.windowManager.close();
return false;
更新您调用mySubmit
的位置以填写objVals
对象。
例如:
mySubmit("https://google.com", text: "Go To Google", target: '_blank' );
objVals
填写的属性会根据调用对话框的类型而变化,并且(部分)记录在 here 中。
对于链接对话框:
mySubmit("https://google.com", text: "Go To Google", target: '_blank' );
对于图像对话框:
mySubmit("image.jpg", alt: "My image" );
对于媒体对话:
mySubmit("movie.mp4", source2: 'movie-alt.ogg', poster: 'movie-image.jpg');
【讨论】:
我几乎已经放弃了对此的希望,但在我发布 6 周后,一位名叫 Jason 的英雄出现并第一次做到了。这对我来说非常有效。非常感谢您抽出宝贵时间回复! @Lason S:在这种情况下,您应该接受答案以上是关于TinyMCE4 file_picker_callback - 返回附加参数的主要内容,如果未能解决你的问题,请参考以下文章
Tinymce4 中Ajax多次加载时,会出现菜单在第二次进入时,显示的下拉菜单在左上角