ExtJs 多次 onReady 执行
Posted
技术标签:
【中文标题】ExtJs 多次 onReady 执行【英文标题】:ExtJs multiple onReady execution 【发布时间】: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,这就是我在回答中提到的。如果他知道这是一个错误,则需要对其进行修复。但话虽如此,这取决于作者采取行动。 【参考方案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 方法。以上是关于ExtJs 多次 onReady 执行的主要内容,如果未能解决你的问题,请参考以下文章