原文:http://hi.baidu.com/xletian/blog/item/1d7d04fae378e68759ee908c.html
作为浏览器的扩展,和网页交互是很普遍的动作,这节介绍页面载入和离开事件。
页面载入事件
在overlay.js中增加以下代码:
[code=javascript]
window.addEventListener("load", function(){myExtension.init()}, false);
//打开浏览器时执行 myExtension.init()
var myExtension = {
init: function() {
var appcontent = document.getElementById("appcontent");
//appcontent是所有页面父节点的ID
if(appcontent)
appcontent.addEventListener("DOMContentLoaded", this.onPageLoad, true);
//DOMContentLoaded事件触发myExtension.onPageLoad
},
onPageLoad: function(e) {
var doc = e.originalTarget;
// doc即网页中的document
if(doc.location.href.search("google") > -1)
doc.getElementsByTagName("form")[0].innerHTML='来搞点破坏: - )';
}
}
[/code]
进入google主页试试。
页面离开事件
[code=javascript]
window.addEventListener("pagehide", OnPageUnload, false);
//pagehide事件
function OnPageUnload(e) {
if (e.originalTarget instanceof HTMLDocument) {
var doc = e.originalTarget;
alert("page unloaded:" + doc.location.href);
}
}
[/code]
load事件只有页面完全载入才触发,要进行更精细的控制,查看进程监听。
转:http://fregen.yo2.cn/articles/page-load.html