【问题标题】:ExtJs multiple onReady executionExtJs 多次 onReady 执行
【发布时间】:2014-02-28 14:02:17
【问题描述】:

我通过以下方式在我的页面上使用多个 Ext.onready 函数。

Page1.jsp 具有以下结构 -

<body>
<%@include file="/jsp/layout/page2.jsp" %>
<div id="restOfBodyContent">
<script type="text/javascript">
 Ext.onReady(function(){
     var obj=null;
    obj.split(':');//on this line error will be thrown

 });
</script>
</body>

Page2.jsp 具有以下结构 -

<body>
<div id="bodyContent">
<script type="text/javascript">
 Ext.onReady(function(){
    //some valid functionality
 });
</script>
</body>

当我执行上面的页面时,页面 1 上的 Ext.onReady 内部会引发错误,因为页面 2 上的 Ext.onReady 没有被执行。

有什么方法可以确保在 page2 中存在的 Ext.onReady 被执行,即使 page1 的 Ext.onReady 中存在错误。

谢谢!

【问题讨论】:

  • 为什么不用try catch 换行?
  • 什么样的错误@4zh4r?
  • @procrastinator,这就是我在回答中提到的。如果他知道这是一个错误,则需要对其进行修复。但话虽如此,这取决于作者采取行动。

标签: javascript extjs extjs4.1


【解决方案1】:

当您的脚本出现错误时,我认为您应该继续修复它,以使其正常工作。

但如果您无法控制该代码块或者您想跳过该错误,请尝试将其包含在 try catch 中,这样它就不会影响脚本的其余部分。

Ext.onReady(function(){
    try {
        var obj=null;
        obj.split(':');//on this line error will be thrown
    } catch(e) { 
        console.log('error'); 
    }
});

【讨论】:

  • 如果出现错误,那么我将修复它,或者我什至可以选择在 try catch 块中编写方法实现。但是我想知道 ExtJs 是否有办法提供某种配置或机制来处理这种情况,因为即使 try catch 不存在,我们也可以确保执行其他 Ext.onReady 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多