Javascript CKEditor:如何在自定义插件中为iframe对话框添加图形预加载程序?
我已经创建了一个CKEditor(4.4.4)插件,它利用了iframedialog元素。我遇到的问题是,在对话框(属性)编辑器中加载iframe的内容可能需要几秒钟。与此同时,用户只是坐在那里想知道UI在哪里,直到它神奇地出现 理想情况下,我希望在加载时隐藏iframe,显示预加载图形,并在加载后隐藏图形和显示iframe 我已经研究过使用元素定义的“setup”和“onContentLoad”函数来处理这个问题,我似乎找不到一种方法来让它工作。我也(未成功)考虑过直接对plugins/iframedilog/plugin.js进行更改,但如果可能的话,我希望避免这样做。结果是“设置”是错误的。“onShow”是我想要的 我是如何做到这一点的:Javascript CKEditor:如何在自定义插件中为iframe对话框添加图形预加载程序?,javascript,iframe,ckeditor,preloader,Javascript,Iframe,Ckeditor,Preloader,我已经创建了一个CKEditor(4.4.4)插件,它利用了iframedialog元素。我遇到的问题是,在对话框(属性)编辑器中加载iframe的内容可能需要几秒钟。与此同时,用户只是坐在那里想知道UI在哪里,直到它神奇地出现 理想情况下,我希望在加载时隐藏iframe,显示预加载图形,并在加载后隐藏图形和显示iframe 我已经研究过使用元素定义的“setup”和“onContentLoad”函数来处理这个问题,我似乎找不到一种方法来让它工作。我也(未成功)考虑过直接对plugins/ifr
onShow: function (e) {
var iframeId = this._.frameId;
loader = setTimeout(function () {
$("#" + iframeId).hide();
$("#" + iframeId).after("<div id='" + iframeId + "-loader' class='preloader-small'></div>");
}, 250);
},
onContentLoad: function () {
clearTimeout(loader);
$("#" + this._.frameId + "-loader").hide();
$("#" + this._.frameId).show();
}
onShow:function(e){
var iframeId=this.\uu.frameId;
加载程序=设置超时(函数(){
$(“#”+iframeId.hide();
$(“#”+iframeId);
}, 250);
},
onContentLoad:函数(){
clearTimeout(加载程序);
$(“#”+this.#.frameId+“-loader”).hide();
$(“#”+this.#.frameId).show();
}
我必须使用setTimeout,否则它根本不起作用。我可以将其设置为低至“1”,它仍然可以工作,但我选择了更高的数字,以便快速/缓存加载不会显示图形