我有
<span class="cssButton"><a href="javascript:void(0);" class="buttonBlue" onclick="swfu.startUpload();"> <img src="http://uber-upload.com/img/icons/up_16.png" alt=""/> Uber-Upload! </a></span>
我想做的是,如果你按下那个按钮,它也会设置一个变量,这样如果你试图离开页面,它会弹出其中一个“你确定要离开吗此页面”警报,以防止人们在上传过程中意外离开。
不要担心上传完成后取消设置变量,我会补充一点,我只需要你们中的一位聪明的编码员让我成为一个框架。
谢谢!
最佳答案
将此声明添加到页面:
var upcount = 0;
将您的点击更改为:
onclick="++upcount; swfu.startUpload();"
如果 swfu
在上传完成后给你一些事件,把它放在上面:
--upcount;
并添加这个处理程序:
window.onbeforeunload = function() {
if (upcount > 0) {
return "The upload is still in progress, leaving the page will cancel it.";
}
}
在浏览器尊重 onbeforeunload 的情况下,这将起作用。大多数时候,他们中的大多数人都这样做。他们不这样做的地方,好吧,你试过了。请注意,通过使用计数器,您可以进行多次上传。
您可能会考虑使用 attachEvent (IE) 或 addEventListener(标准)(或像 Prototype 或 jQuery 这样可以为您消除差异的库)来附加事件而不是使用属性。使用属性(又名 DOM0 处理程序)相当老式并且有点限制(每个元素每个事件只有一个处理程序)。但它仍然有效。
关于Javascript 和 onbeforeunload?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1308575/