我创建了一个使用iframedialog元素的CKEditor(4.4.4)插件。我遇到的问题是对话框(属性)编辑器中的iframe内容可能需要几秒钟才能加载。与此同时,用户只是坐在那里想知道UI的位置,直到它神奇地出现。
理想情况下,我想在加载时隐藏iframe,显示预加载器图形,并隐藏图形并在加载后显示iframe。
我已经开始使用"设置"和" onContentLoad"要处理这个问题的元素定义的功能,我似乎找不到让它运行的方法。我也(不成功)直接对插件/ iframedialog / plugin.js进行了更改,但是如果可能的话我想避免这样做。
答案 0 :(得分:0)
结果" 设置"使用是错误的。 "的昂秀强>"是我在寻找的。 p>
以下是我如何做到这一点: 我不得不使用setTimeout,否则它根本不起作用。我可以把它设置为" 1"它仍然可以工作,但我选择了更高的数字,因此快速/缓存的负载不会显示图形。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();
}