我正在尝试通过JavaScript为Safari浏览器添加一个事件监听器,因为它显然无法识别窗口的卸载事件。到目前为止,我有:
function init()
{
//add unload event handler for safari
if (navigator.userAgent.toLowerCase().indexOf("safari")!=-1) {
bodyElt = document.getElementsByTagName("body")[0];
if (bodyElt) {
bodyElt.addEventListener("unload", onUnloadHandler, false);
}
}
...
答案 0 :(得分:0)
请不要使用浏览器嗅探。以下是符合标准的,并且无处不在(如果有W3C DOM支持;必要时添加包装器):
…
<script type="text/javascript">
function bodyLoad()
{
document.body.addEventListener("unload", onUnloadHandler, false);
}
</script>
</head>
<body onload="bodyLoad()">
…
</body>
…
但问题仍然存在。您为什么不首先使用onunload
元素的body
属性?那你需要unload
事件监听器做什么?许多人认为他们需要unload
听众,因为他们没有正确处理关闭,或者有误导性的想法试图让访问者留在他们的网站。