功能描述:
用户关闭窗口时把用户flash播放器数据写入数据
问题:
oSwf为播放器控件.....
oSwf.js_sendDataTwo();flash播发器会调用前台js页面,调用js里有相应ajax请求,将数据存入数据库
为不影响用户操作,ajax只能设为异步
而现在这种情况无法写入数据库....
想让页面等两秒,等待写入后页面关闭....
但数据仍然无法写入....盼解决:
1、window.onbeforeunload ajax 异步存储信息 可行方案
2、为什么页面等2秒,数据仍不可写入?
window.onbeforeunload = function (){
if(oSwf){
//alert("true");
oSwf.js_sendDataTwo();
//setTimeout("oSwf.js_sendDataTwo()",1); //sleep(2000);
//alert("sending");
}
return;
}function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime) return;
}
}
用户关闭窗口时把用户flash播放器数据写入数据
问题:
oSwf为播放器控件.....
oSwf.js_sendDataTwo();flash播发器会调用前台js页面,调用js里有相应ajax请求,将数据存入数据库
为不影响用户操作,ajax只能设为异步
而现在这种情况无法写入数据库....
想让页面等两秒,等待写入后页面关闭....
但数据仍然无法写入....盼解决:
1、window.onbeforeunload ajax 异步存储信息 可行方案
2、为什么页面等2秒,数据仍不可写入?
window.onbeforeunload = function (){
if(oSwf){
//alert("true");
oSwf.js_sendDataTwo();
//setTimeout("oSwf.js_sendDataTwo()",1); //sleep(2000);
//alert("sending");
}
return;
}function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime) return;
}
}
首先回调肯定不能实现的.....
因为写数据是写数据,不能影响播放器的页面.....,使用ajax回调后在去关闭页面,会影响播放...
也是,其它人有无其它解决方案?
我想不行就直接用as3调java走socket,实在没办法了....
但那样用户体验就不好了
用同步就可以成功