在我的ExtJS 4.0.7应用程序中,我有一些第三方javascripts,我需要动态加载以呈现某些面板内容(一些花哨的图表/可视化小部件).
在我尝试使用它之前,我遇到了脚本未完成加载的古老问题.我认为ExtJS可能有一个优雅的解决方案(很像类加载器:Ext.Loader).
我看过Ext.Loader和Ext.ComponentLoader,但似乎都没有提供我正在寻找的东西.我是否必须"自己滚动"并设置计时器以等待标记变量存在?
Joe*_*way 11
以下是ExtJS 4.1.x中如何完成的示例:
Ext.Loader.loadScript({
url: '...', // URL of script
scope: this, // scope of callbacks
onLoad: function() { // callback fn when script is loaded
// ...
},
onError: function() { // callback fn if load fails
// ...
}
});
Run Code Online (Sandbox Code Playgroud)
我看过Ext.Loader和Ext.ComponentLoader,但似乎都没有提供我正在寻找的东西
真的看起来是真的.我认为唯一可以帮助你的是Loader的injectScriptElement方法(但是,它是私有的):
var onError = function() {
// run this code on error
};
var onLoad = function() {
// run this code when script is loaded
};
Ext.Loader.injectScriptElement('/path/to/file.js', onLoad, onError);
Run Code Online (Sandbox Code Playgroud)
似乎这种方法会做你想要的(这里是例子).但唯一的问题是,......你知道,这个方法被标记为私有.
| 归档时间: |
|
| 查看次数: |
9713 次 |
| 最近记录: |