页面加载完成后,Ext.onReady 事件被触发。

那到底,这个页面加载包括哪些东西?

(如果你还能找到这个:http://zhidao.baidu.com/question/161113033.html)

或者直接到http://docs.sencha.com/ext-js/3-4/#!/api去看API对onReady的说明

Ext.onReady(Function fn, Object scope, boolean override): 该方法的调用发生在Document对象加载完毕后,HTML的onload事件以及p_w_picpath加载之前。 参数说明: fn:执行的函数; scope:fn执行的范围,为可选参数; override:表示是否以scope作为fn的默认执行范围,为可选参数,默认为true。 无返回值。 1.第一个参数为家在后该方法欲调用的函数。 2.第三个参数如果为true,第二个参数将成为fn的执行范围,第三个参数默认为true。

Adds a listener to be notified when the document is ready (before onload and before p_w_picpaths are loaded). Shorthand of Ext.EventManager.onDocumentReady.

在这里,又不得不提到一下我们浏览器是怎么解析一个页面的。我们都知道页面都包括:

HTML和其他文件(JS,CSS,IMAGE,FLASH等),那加载这些的先后顺序是怎样的呢?

以下文字摘自博文(http://hi.baidu.com/moniteryao/item/e851425177262ba8adc8577f)

其实首先到达浏览器的就是html的那些文档,所谓的html的文档,就是纯粹的html代码,不包含什么图片,脚本,css等的。也就是页面的html 结构。因为此时返回的只是页面的html结构。这个html文档的发送到浏览器的时间是很短的,一般是占整个响应时间的10%左右。

有这样的解释,你就能够理解onReady是发生在什么时候了。从而你也会理解,这时候在onReady能够操纵到什么样子的资源了。

当然,理解这个WebPage网页解析的过程,其实为网页加载性能优化奠定了良好的基础。

我觉得这也是我们WebDeveloper的基本功,虽然这也是一门学问。想要了解得更多关于网页的性能优化问题。可以参考博文:http://www.baiduux.com/blog/2011/02/15/browser-loading/