页面加载事件(pagebeforeload、pageload)

当外部的页面加载到dom中时,有两个事件被触发。第一个是 pagebeforeload,第二个是pageload ,或者pageloadfailed。

pagebeforeload

在加载请求发出之前触发,绑定到这个事件的回调函数可以可以对 该事件调用preventDefault(),来表明由他们来处理加载的请求。 这样的做的话回调函数必须对通过数据对象传到回调函数的对象调用resolve()或者reject()。通过第二个参数传到回调函数的对象包含如下的属性:

url (字符串):通过回调传到$.mobile.loadPage()的绝对或者相对地址

absUrl (字符串):url的绝对地址版本。

dataUrl (字符串):绝对地址的当识别页面或者更新浏览器地址的时候使用的绝对地址经过过滤的版本

deferred (对象):针对此事件调用preventDefault()的回调函数必须针对此事件调用

resolve()或者reject()方法,使得changePage()的请求恢复。例如:

$( document ).bind( "pagebeforeload", function( event, data ){
	//让jqm框架知道由我们来处理load事件.
	event.preventDefault();
	//...加载文档然后插入到DOM中
	//在这个回调中,或者通过其他的异步加载手段中,
	//调用resolve,转入到下面的参数中,加上一个
	//包含有页面dom元素的jquery选择器。
	data.deferred.resolve( data.absUrl, data.options, page );
});

pageload

在页面已成功加载并插入到DOM后触发。绑定到这个事件的回调函数会被作为一个数据对象作为第二个参数。这个对象包含如下的信息:

url(字符串):网址址。

absUrl(字符串):url的绝对地址版本。