从另一个 extjs 脚本执行 extjs 脚本

Posted

技术标签:

【中文标题】从另一个 extjs 脚本执行 extjs 脚本【英文标题】:executing extjs script from another extjs script 【发布时间】:2012-06-20 14:32:59 【问题描述】:

我正在开发 extjs 3.2.1,我正在尝试从另一个 extjs 脚本执行一个 extjs 脚本。我想要做的是当用户点击 Database 面板时,脚本 Database.js 应该执行。到现在为止我所做的是

var tabs = new Ext.TabPanel(
        activeTab : 0,
        autoScroll: true,
            items:[
                
              title:'Graphical-View',
              height:550,
              bodyStyle:"background-color":"white",
              autoScroll: true,
              items:[ GraphicalViewPanel]
              ,
                title: 'Database',
                height : 800,
                autoScroll: true,
                bodyStyle:"background-color":"white",
                autoLoad:
                        url:'/resource/js/Database.js',
                        scripts : true
                
]      
);

但是当我执行文件并单击 数据库面板 时,Database.js 的内容会加载到面板中,而不是执行脚本。

另外,如果我将 Graphical-view panel 放在 Database panel 之后,浏览器会报错 --- null is null or not an object强>

我无法解决问题,任何帮助将不胜感激

谢谢。

【问题讨论】:

【参考方案1】:

在 iframe 中加载您的 Database.js

    bodyCfg: 
        tag: 'iframe',         
        src : ""
    

或者创建一个 php 文件并将您的 Database.js 代码放在脚本标签中,并在 src 中提供 url

    bodyCfg: 
        tag: 'iframe',         
        src : "abc.php"
    

对于 Extjs 3

【讨论】:

它没有工作,仍然在面板中加载Database.js的内容而不是执行脚本。

以上是关于从另一个 extjs 脚本执行 extjs 脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ExtJs 4 和 MVC 从另一个类访问一个类?

ExtJs 入门教程

ExtJS:如何在特定的`Window`组件上加载其他脚本?

ExtJS:以 ExtJS 样式获取当前 URL

html框架中如何使用 Extjs 显示一个窗体?

Extjs的MVC开发模式