Sig*_*eve 16 javascript tinymce callback filepicker tinymce-4
我正在使用自己的自定义文件选择器和TinyMCE 4的新file_picker_callback函数.关于这个的文档并不是很好,所以有信心让弗雷德让我这么做 - /sf/answers/1720026031/
自定义文件选择器正在工作,当您单击图像时,它会填充"源"和"维度".我只是想知道是否有任何方法可以自动填写"图像描述"字段.
图像的信息是从数据库表生成的,所以我已经有了描述,自动为用户填写它会很好.在尝试了各种传递数据的方法后,我很难理解它是如何完成的.
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);
}
});
};
Run Code Online (Sandbox Code Playgroud)
自定义文件选择器的代码:
$(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();
}
Run Code Online (Sandbox Code Playgroud)
我的javascript知识并不是最好的,因为我对它很陌生,所以如果你可以请用例子和/或明确的逻辑来说明任何答案,这将是非常有用和非常感激的.
小智 15
我遇到了同样的问题,并提出了以下解决方案:
更新您的myImagePicker函数(注意函数的新objVals参数oninsert):
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);
}
});
};
Run Code Online (Sandbox Code Playgroud)更新您的mySubmit函数(注意objVals传递给的参数oninsert):
function mySubmit (url, objVals) {
top.tinymce.activeEditor.windowManager.getParams().oninsert(url, objVals);
top.tinymce.activeEditor.windowManager.close();
return false;
}
Run Code Online (Sandbox Code Playgroud)更新您调用mySubmit以填充objVals对象的位置.
例如:
mySubmit("https://google.com", { text: "Go To Google", target: '_blank' });
Run Code Online (Sandbox Code Playgroud)
根据objVals调用对话框的类型填充更改的属性,并在此处(部分)记录.
对于链接对话框:
mySubmit("https://google.com", { text: "Go To Google", target: '_blank' });
Run Code Online (Sandbox Code Playgroud)
对于图像对话框:
mySubmit("image.jpg", { alt: "My image" });
Run Code Online (Sandbox Code Playgroud)
对于mediadialog:
mySubmit("movie.mp4", {source2: 'movie-alt.ogg', poster: 'movie-image.jpg'});
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
6117 次 |
| 最近记录: |