浅析
web前端开发技术期末填空题
自定义 window.onready (模仿 window.onload)
插入到 head/
(function() {
this.Timer = function() {
if (window.onready) {
this.addEventListener(“DOMContentLoaded”, window.onready, false);
clearInterval(this.intervalId);
this.rel();
return;
}
console.log(window.intervalId);
}
this.rel = function() {
clearInterval(this.intervalId);
this.intervalId = undefined;
this.removeEventListener(“load”, this.loadHandler, false);
}
this.loadHandler = function() {
console.log(“load”);
this.rel();
}
this.addEventListener(“load”, this.loadHandler, false);
this.intervalId = setInterval(this.Timer);
})();[/code]
下面是写 window.onready
[code]window.onready = function(){
console.log(“ready”);
}[/code]
代码片段 1
/p>
touches/*
自定义 window.onready (模仿 window.onload)
插入到 head
*/
;(function() {
this.Timer = function() {
if (window.onready) {
this.addEventListener(
‘DOMContentLoaded’,
window.onready,
false,
)
clearInterval(this.intervalId)
this.rel()
return
}
console.log(window.intervalId)
}
this.rel = function() {
clearInterval(this.intervalId)
this.intervalId = undefined
this.removeEventListener(‘load’, this.loadHandler, false)
}
this.loadHandler = function() {
console.log(‘load’)
this.rel()
}
this.addEventListener(‘load’, this.loadHandler, false)
this.intervalId = setInterval(this.Timer)
})()
/* ready 结束 */
/* 测试一下 */
window.onready = function() {
console.log(‘ready’)
console.log(‘再试试去了window.onready’)
}
查看 console.log 调试器(看看返回了什么,load, ready)。
上面的方法,只是供大家学习之用。在实现应用中,很不方便。window.onready 只能用一次。不能重复写。
下面的方法更实用一些,可以重复调用。
[code](function() {
window.ready = function(handler) {
document.addEventListener(“DOMContentLoaded”, handler, false);
}
})();[/code]
使用方法一:
[code]ready(function() {
console.log(“ready”);
});[/code]
使用方法二:
[code]window.ready(function() {
console.log(“window.ready”);
});[/code]
测试一下:
代码片段 2
/p>
touches;(function() {
window.ready = function(handler) {
document.addEventListener(
‘DOMContentLoaded’,
handler,
false,
)
}
})()
ready(function() {
console.log(‘ready’)
})
window.ready(function() {
console.log(‘window.ready’)
})
查看 console.log 调试器(看看返回了 ready)。