在CKEDITOR中的Image插件的上传选项卡中,用户必须首先从计算机中选择文件,然后必须单击"发送到服务器"按钮将文件发送到服务器并填充信息选项卡中的UI元素.
现在我查看了上传标签的代码.就像这样 -
{
id: 'Upload',
hidden: false,
filebrowser: 'uploadButton',
label: lang.uploadTab,
elements: [
{
type: 'file',
id: 'upload',
label: lang.btnUpload,
style: 'height:40px'
},
{
type: 'fileButton',
id: 'uploadButton',
filebrowser: 'info:src',
label: lang.btnUpload,
'for': [ 'Upload', 'upload' ]
}
]
}
Run Code Online (Sandbox Code Playgroud)
它没有完整描述如何将"发送到服务器"按钮添加到对话框中.我实际上不想让用户首先选择图像然后手动点击按钮将图像发送到服务器.
如何自动执行将图像发送到服务器并填充信息选项卡的UI元素的过程?
我的意思是用户应该只选择一个文件,在选择文件后,图像应该自动发送到服务器,信息选项卡的所有UI元素都应该填充图像属性.用户可以点击"确定"或"取消'像往常一样在编辑器上渲染图像.
我在ck-editor中创建一个小部件,当用户单击工具栏按钮时,会打开一个对话框.在一个对话框中有一个文本字段和一个搜索按钮,对话框中的休息区域用于显示搜索结果.
是否可能用户在文本字段中输入一些文本,点击搜索按钮并使用某些API我在文本字段和搜索按钮下方的插件对话框中显示约50个搜索结果(可滚动)?
现在我正在使用这段代码(只是一个假人来检查我是否可以动态添加元素) -
CKEDITOR.dialog.add('simplebox', function(editor){
return {
title: 'Reference',
minWidth: 600,
minHeight: 400,
onShow: function() {
alert(CKEDITOR.dialog.getCurrent().definition.getContents("new_reference").elements);
},
contents: [
{
id: 'new_reference',
label:'New Reference',
elements: [
{
id: 'type',
type: 'select',
label: 'Type',
items: [
[ editor.lang.common.notSet, '' ],
[ 'Book' ],
[ 'Journal' ],
[ 'URL' ],
[ 'PHD Thesis']
]
},
{
type: 'text',
id: 'reference',
label: 'Reference',
validate: CKEDITOR.dialog.validate.notEmpty( "Search field cannot be empty." )
},
{
type: 'button',
align:'horizontal',
id: 'referencebutton',
label:'Search',
title: 'My …
Run Code Online (Sandbox Code Playgroud) 在ck-editor文档中,CkEDITOR.dom.document被定义为 -
Represents a DOM document.
Run Code Online (Sandbox Code Playgroud)
示例给出 -
var document = new CKEDITOR.dom.document( document )
Run Code Online (Sandbox Code Playgroud)
该函数的参数'document'应该是什么?
同样在CKEDITOR核心代码库中给出了这个定义 -
CKEDITOR.document = new CKEDITOR.dom.document( document );
Run Code Online (Sandbox Code Playgroud)
表示CKEDITOR.document是包含CKEDITOR实例的窗口的文档.例如,可以从窗口的DOM中获取任何内容 -
alert( CKEDITOR.document.getBody().getName() ); // 'body'
Run Code Online (Sandbox Code Playgroud)
我对这两者的重要性以及如何以不同方式使用它们,在何处使用它们感到困惑?
谢谢.
我有一个UI元素,它是CKEDITOR.dom.element的一个实例.我可以使用像getId()这样的方法来查找它在本机DOM中的id.但是我如何转换为jquery对象来应用高级jquery方法它?
谢谢
我正在使用dialogDefinition事件来更改Enhanced Image插件的image2对话框的定义.我正在使用此代码 -
CKEDITOR.appendTo("editor1" ,
{
on: {
dialogDefinition: function (ev) {
console.log("Inside dialog definition");
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if (dialogName == 'image2') {
console.log("Inside Upload");
dialogDefinition.removeContents('Upload');
dialogDefinition.addContents({
title: "Upload",
id: "upload",
label: "Upload",
elements: [{
type: "html",
html: "<form>{%csrf_token%}<input id='imageupload' type='file' name='files[]'/></form>"
}]
});
}
},
},
Run Code Online (Sandbox Code Playgroud)
但是,当我单击任何对话框时,不会调用此事件,因为控制台消息未打印,并且image2对话框的定义未更改.
有没有办法找出为什么没有调用此事件或如何使其工作?
在最近的一次采访中,我被问到这个问题.我通过运行循环并通过每次右移1检查每个x位来给出解决方案.
然后他问我是否可以在没有循环的情况下做到这一点.我尝试了各种方法,但找不到解决方案.在这里,任何有点小问题的专家可以帮助我吗?
示例 - 如果num = 15且x = 2,则结果应为true,因为在2(01111)中设置了第1个2位.
谢谢