- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 onunload
事件测试脚本有问题它必须仅在窗口 onunload
上触发但它也会在负载下点火..为什么?有什么不对劲,我不知道是什么。。请帮忙
这是html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function hello(){alert("welcome to my page");}
</script>
<script type="application/javascript" src="script.js"></script>
</head>
<body onload="hello()" >
</body>
</html>
这是脚本代码
window.onunload = goodbye();
function goodbye(){
alert("Thank you for visiting.come back soon!");
}
//window.addEventListener('unload',goodbye(),false);
我尝试过使用 body 标记进行内联调用、window.onunload
调用和监听器调用。一切正常,我收到“感谢您访问。请尽快回来!”页面首次加载时的消息。
最佳答案
问题在于以下行:
window.onunload = goodbye();
这会将 window.unload
事件设置为等于 goodbye()
函数的结果,并立即调用 goodbye()
函数。将其更改为:
window.onunload = goodbye;
更多细节:
您可以通过命名函数并在括号中传递零个或多个参数来调用该函数(例如:goodbye()
)。当您调用函数时,它会立即被调用,并且,如果它用作语句的一部分(而不是整个语句),则在进行调用的地方使用函数的返回值。所以,你所说的这句话是:
window.onunload = goodbye();
是:“获取调用goodbye
函数的结果,并将返回值赋给window.onunload
变量”。调用goodbye
函数会弹出一个警报,但返回null,因此您实际上是在说,“立即弹出一个警报,然后设置window.onunload
” > 变量为空”。
window.onunload
变量(以及所有其他事件变量)期望是一个函数,因此您实际上想说的是,“设置 window.onunload
” > 函数作为goodbye
函数,因此当系统调用onunload
事件时,它会调用goodbye
函数”,并做到这一点,将函数本身分配给变量:
window.onunload = goodbye;
但是
onunload
事件可能不是您想要的。这只在页面卸载后触发,因此大多数 UI 组件不再可用,包括 alert
。尝试改为查看 onbeforeunload
( JavaScript + onbeforeunload )
关于javascript - onunload 事件出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14558551/
我已阅读问题的答案 window.onload vs .在那次问答中,许多人声称 window.onload 和 body.onload 是相同的。这不是我的经历。 考虑两个测试页面:
我的 onunload 事件测试脚本有问题它必须仅在窗口 onunload 上触发但它也会在负载下点火..为什么?有什么不对劲,我不知道是什么。。请帮忙 这是html代码 Untitled D
我想触发 onunload 事件来执行一些清理操作,我有多个选项卡(导航栏)显示指向不同网页的多个链接,我的问题是,即使我在其他页面中,我的卸载功能也位于其他一些jsp 的标签被触发。请帮助解决这个问
我刚刚遇到的问题得到了帮助 here . var win = window.open(url, name); win.onunload = StartLoad; win.close(); 为了彻底解决
根据文档(我只使用 Firefox): https://developer.mozilla.org/en/DOM/window.onunload The unload event is raised
我正在开发一个具有 DNS 记录管理器的虚拟主机面板。我必须使用大量 JavaScript 才能使它的性能几乎像桌面应用程序。 我真的很想在浏览器运行 beforeunload 时显示自定义对话框窗口
我写了一些代码,在离开页面之前会要求确认。如果我说"is"离开页面,则需要进行一些清理。现在的问题是 onunload 方法在页面刷新时执行,但在页面关闭时不执行,为什么? 代码: function
我是一个初学者,我在 javascript 文件上经常看到这行代码,例如: window.onunload=function(){}; 我什么时候应该使用这个,它到底有什么作用? 谢谢。 最佳答案 当
我还没有看到 David Flanagan 的《JavaScript - 权威指南》一书(我也在 O'Reilly Answers 上问过这个问题)或其他任何地方提到过这一点,但我发现除非文档完全加载
在 onunload、onbeforeunload 方面遇到问题。当用户离开页面或浏览器关闭时,我需要执行一些代码。 onunload 适用于导航离开,但在浏览器关闭时不起作用。我无法使用onbefo
当用户使用 离开网站时是否可以捕获一些不同类型的操作 $(window).unload(function(){ doSomething(); } 我想将它们分为两种不同的类型。第一个是用户关闭
我无法获取 JavaScript 代码。正在观看 JavaScript 教程,所以我自己测试了它。我去阅读了一下,一些消息来源说它在 Chrome 中不起作用,所以我用 Firefox 进行了测试。然
我想用类似的东西存储一个 cookie Response.Cookies.Set(new HttpCookie("name","value"); 在我完成页面生命周期之后,将它放在 OnUnload(
我想在页面刷新或用户退出页面时将一些信息存储在浏览器的本地存储中以供将来使用。我想我应该使用一些 JavaScript 来检测事件并存储页面访问的状态。 现在我的困境是:我应该使用 Onbeforeu
考虑以下代码: $(window).unload(function () { console.log('foo'); }); 如果我通过导航到不同的 URL 来触发卸载事件,则在浏览器开始获得
我在 window.onunload 事件上使用确认对话框。但是当我单击取消按钮时,它会将我导航到另一个页面,但我想留在那个页面上。这是 window.onunload 事件的问题吗?请给我这个问题的
我正在尝试向表单添加一个监听器,以便在用户离开表单时进行 ajax 调用,但似乎什么也没有发生。当我离开告诉我代码不正确的页面时,在 firefox 中看不到任何错误并且没有任何控制台记录。 jque
我正在为 onbeforeunload、onunload 和在正确的时间生成正确的消息而苦苦挣扎。欢迎任何想法。情况是这样的: 当我使用 onbeforeunload 时,用户会收到一条消息以选择是否
我有一个要求,当用户点击浏览器的[X]按钮时,我应该给他们一个消息。 我使用 JavaScript 的 onUnload 方法完成了这个任务。 现在,即使我刷新页面,也会出现相同的消息! 为什么会这样
我最近接手了一个项目,该项目使用 COMET 执行一些协作工作并处理一个简单的聊天室。最初编写这个东西的人在 STOMP 和 Oribited 之上编写了一些类来处理所有实际的聊天、消息传递和日志记录
我是一名优秀的程序员,十分优秀!