我现在代码如下:但是在加载页面的时候StopThePage()就被调用了,不应该是关闭的时候才会调用吗?求解
window.onload = function () {
window.onkeydown = keyDown;//js获取按键keycode值
}
function keyDown(event){
var code = event.which;
//屏蔽 alt+ 方向键 ← //屏蔽 alt+ 方向键 →
if ((code.altkey) && ((code == 37) || (code == 39))) {
return false;
event.preventdefault();
}
//屏蔽f5
if (code == 116 || code == 8) {
code = 0;
return false;
event.preventdefault();
}
//屏蔽 ctrl+r
if ((code.ctrlkey) && (code == 82)) {
return false;
event.preventdefault();
}
//屏蔽 shift+f10
if ((code.shiftkey) && (code == 121)) {
return false;
event.preventdefault();
}
} window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler() {
var a="<%=StopThePage()%>";
alert("关闭");
var warning = "请签退后离开本页面";
return warning;
}
window.onload = function () {
window.onkeydown = keyDown;//js获取按键keycode值
}
function keyDown(event){
var code = event.which;
//屏蔽 alt+ 方向键 ← //屏蔽 alt+ 方向键 →
if ((code.altkey) && ((code == 37) || (code == 39))) {
return false;
event.preventdefault();
}
//屏蔽f5
if (code == 116 || code == 8) {
code = 0;
return false;
event.preventdefault();
}
//屏蔽 ctrl+r
if ((code.ctrlkey) && (code == 82)) {
return false;
event.preventdefault();
}
//屏蔽 shift+f10
if ((code.shiftkey) && (code == 121)) {
return false;
event.preventdefault();
}
} window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler() {
var a="<%=StopThePage()%>";
alert("关闭");
var warning = "请签退后离开本页面";
return warning;
}
当执行beforunload时将这个div的display设为block试试
ajax还完全不了解啊,而且ajax不就是异步的javascript和Xml吗?同步的话是什么概念?您有时间的话能否给我写段代码
<script>
window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler() {
//var a = "<%=StopThePage()%>";
var a;
$.ajax({ async: false, url: '你的动态页地址',cache:false, complete: function (xhr) {a=xhr.responseText } });
alert("关闭");
var warning = "请签退后离开本页面";
return warning;
}
</script>导入jquery,基础的ajax就不写了。。有需要自己去了解
任何客户端调用服务端代码都必须通讯<%%>的方式不是调用服务端代码
先弄明白什么客户端,什么是服务端,客户端即浏览器,服务端即服务器,两者根本不是同一台电脑,可能相隔万里,客户端要调用服务端代码,必须通讯,哪里是随便想调就调的?<%%>的写法称为动态页,里面的代码是服务端生成页面代码时执行的,那时候浏览器中页面根本还未生成,哪里说得上是js调用服务端代码?你可以查看源文件,看看"<%=StopThePage()%>"到达页面究竟是什么
任何客户端调用服务端代码都必须通讯<%%>的方式不是调用服务端代码
先弄明白什么客户端,什么是服务端,客户端即浏览器,服务端即服务器,两者根本不是同一台电脑,可能相隔万里,客户端要调用服务端代码,必须通讯,哪里是随便想调就调的?<%%>的写法称为动态页,里面的代码是服务端生成页面代码时执行的,那时候浏览器中页面根本还未生成,哪里说得上是js调用服务端代码?你可以查看源文件,看看"<%=StopThePage()%>"到达页面究竟是什么
修改数据库的,我是想实现页面关闭的时候更改数据库中的状态值。
任何客户端调用服务端代码都必须通讯<%%>的方式不是调用服务端代码
先弄明白什么客户端,什么是服务端,客户端即浏览器,服务端即服务器,两者根本不是同一台电脑,可能相隔万里,客户端要调用服务端代码,必须通讯,哪里是随便想调就调的?<%%>的写法称为动态页,里面的代码是服务端生成页面代码时执行的,那时候浏览器中页面根本还未生成,哪里说得上是js调用服务端代码?你可以查看源文件,看看"<%=StopThePage()%>"到达页面究竟是什么
修改数据库的,我是想实现页面关闭的时候更改数据库中的状态值。
7楼方法即可
window.onbeforeunload = function(){
$.ajax({
async: false,
data: {a:x,b:x},//参数
url: '接口地址'
});
}写一个ajax接口,用于修改数据库,页面关闭时调用即可