我正在玩HTML5 WebSockets.我想知道,如何优雅地关闭连接?比如,如果用户刷新页面或只是关闭浏览器会发生什么?
当用户只是在没有调用的情况下刷新页面时,会出现一种奇怪的行为websocket.close()- 当他们在刷新后返回时会触发该websocket.onclose事件.
我会尽力解释这一点.
我有一个应用程序,显示我的view页面中的50多个项目.用户可以单击单个项目并转到update页面以更新项目信息.除了用户完成更新单个项目信息并点击浏览器上的"返回"按钮到之前的状态后,一切正常view page.旧项目信息(更新前)仍然存在.用户必须点击刷新才能看到更新的信息.它并没有那么糟糕,但我希望提供更好的用户体验.有什么想法解决这个问题?非常感谢.
我正在使用netadictos在此处发布的代码.我想要做的就是当用户离开或关闭窗口/标签时显示警告.
netadictos发布的代码似乎在IE7,FF 3.0.5,Safari 3.2.1和Chrome中运行良好,但它在Opera v9.63中不起作用.有没有人知道在Opera中做同样事情的方式?
Thx,Trev
jQuery onbeforeunload无法在Chrome和Firefox中运行.它在IE和Safari中正常工作.
jQuery(window).bind('onbeforeunload' ,function () {
mymethod();
});
Run Code Online (Sandbox Code Playgroud)
上面的代码在IE和Safari中正常工作,但在Firefox和Chrome中没有.
我有一个表单,我必须注意用户在退出页面上有alert(),而表格中有数据尚未发送.
我读过歌剧有很多问题.Opera 11也就是说,因为我只需考虑最后一个版本.
因此,警报应该在刷新,关闭选项卡或关闭整个浏览器时显示.将事件直接设置到<form>将在任何导致破坏此元素的任何内容上启动的元素将是很好的.
我正在使用window.onbeforeunload在Windows关闭时向用户显示一条消息,该功能适用于Chrome和IE,但它不适用于Firefox,我使用的是firefox版本26.0我试过很多但没有意思,有人说它是firefox中的一个错误,就像在这篇文章 和另一个建议一些解决方案,因为在这篇文章我尝试了所有可用的解决方案使用javascript和jquery但它不起作用,现在我显示一个确认对话框,但浏览器默认对话框出现后,它我对此不满意,我也试图阻止浏览器默认对话框出现使用,preventDefault()但也没有意思!如果对这个问题有任何解决方案它会很棒,这是我如何使用window.onbeforeunload:
<script>
window.onbeforeunload = confirmWinClose();
function confirmWinClose() {
var myVar ='${isFireFox}';
if(myVar=='true'){
return confirm(confirmExamClose);
}else{
return confirmExamClose;
}
}
<script>
Run Code Online (Sandbox Code Playgroud)
注意:isFireFox是一个jsp变量,我曾经使用User-AgentHeader 知道浏览器的类型,并且confirmExamClose是我向用户显示的消息.
前提条件:您应该使用Safari 10.
嗨,我很难得到离开| 保持确认框以在不同浏览器的我的页面上显示.
请访问https://www.biznessapps.com/cms,并使用以下凭据登录:
username: pzheng64@gmail.com
password: skl@0!_~!(
Run Code Online (Sandbox Code Playgroud)
登录后,转到/欢迎页面.请单击左侧边栏中的"设置",然后转到"成员资格"选项卡.
如果您可以看到"启用会员功能",则单击它并更改其中的任何内容并导航到另一个页面.您将在第一次尝试离开页面时看到确认框出现.

单击"离开"转到目标页面,然后返回此"设置"页面并尝试相同的操作; 您将不会再次看到确认框(使用Safari时).
我在以下网址使用了此代码段:https://www.biznessapps.com/cms/v2/public/scripts/pages/settings.js?v = 68.160720
/* settingsPages.isChanged() is my custom function */
window.addEventListener("beforeunload", function(event) {
if (settingsPage.isChanged()) {
event.returnValue = "some string";
return "some string";
}
});
Run Code Online (Sandbox Code Playgroud)
它适用于Google Chrome和Firefox,但不适用于Safari.
谢谢!
我面临着一个奇怪的问题.关闭完整的safari浏览器时,我需要使用jquery post调用一个函数.但是当关闭safari浏览器时,这不是调用.但是美女在所有其他浏览器中都有效.
下面是我的一段代码,
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit()
{
$.post("test.php");
}
</script>
Run Code Online (Sandbox Code Playgroud)
请在野生动物园进行这项工作.
谢谢,Dinesh Kumar Manoharan
我有一个打开多个窗口的Web应用程序。我的问题是,当父窗口关闭/刷新时,子窗口保持打开状态。我尝试使用onunload,onbeforeunload但没有一个捕获到窗口关闭事件(在Chrome和Firefox中)。我有一个Windows数组,但刷新后对它们的引用丢失了。
还有其他方法可以捕捉到此事件吗?
这是我的与关闭窗口有关的代码(在closeAll()外部运行unload并onbeforeunload关闭所有打开的窗口,但刷新页面时不关闭):
window.unload = function() {
closeAll();
}
window.onbeforeunload = function() {
closeAll();
}
var closePopup = function(popup) {
removePopup(popup);
popup.close();
};
var closeAll = function() {
for (var popup in _this.popups) {
closePopup(_this.popups[popup]);
}
}
Run Code Online (Sandbox Code Playgroud)
这仅在Chrome中有效,而在Firefox和IE(最新版本)中无效。
在我的聊天应用程序中,有一些文本字段可以获取用户登录详细信息.
填写用户详细信息时,如果用户突然按下ESC键,数据将丢失.
我需要禁用ESC键的功能吗?我需要使用哪个活动?我怎样才能做到这一点.
我的Java脚本代码是,
function esc(e){
e = e || window.event || {};
var charCode = e.charCode || e.keyCode || e.which;
if(charCode == 27){
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
在Stack overflow和google中搜索了很多.没有任何工作.请任何人帮助我这样做.谢谢..
我在Chrome,FireFox和Safari上尝试了代码.仍然onbeforeunload不会发射.我也尝试了onunload,但它没有用.
这是我正在尝试的代码.
<!doctype html>
<html lang="en">
<head>
<title> Output to a Page </title>
<meta charset="utf-8">
<script>
window.onload = init;
window.onclick = clk;
window.onbeforeunload = closing;
function clk() {
window.alert("Ouch !!");
}
function closing() {
console.log("function alrt WORKS !!!!");
window.alert("closing now.....");
}
function init() {
var output = "";
for (var mms = 5; mms > 0; mms--) {
if (mms >= 3) {
output += "Still lots of M&Ms left, so eat more!<br>";
} else {
output += "Getting low …Run Code Online (Sandbox Code Playgroud)