Ruby on rails 在上载文件时用户离开页面时确认

Ruby on rails 在上载文件时用户离开页面时确认,ruby-on-rails,file-upload,carrierwave,Ruby On Rails,File Upload,Carrierwave,我正在使用一个基于blueimp()和rubyonrailsgemcarrierwave的多文件上传场景。我遇到的问题是,用户可以在文件上传完成之前离开网页。我试图创建一种方式,如果文件当前正在上载,并且用户在上载完成之前离开页面,那么它应该返回一个确认对话框。关于如何实现这一点有什么想法吗?这可以通过Javascript的事件来实现 var upload\u pending=false; // ... //一旦开始上传,切换布尔标志(如 //带有文件字段的表单的“提交”按钮上的单击事件, //

我正在使用一个基于blueimp()和rubyonrailsgemcarrierwave的多文件上传场景。我遇到的问题是,用户可以在文件上传完成之前离开网页。我试图创建一种方式,如果文件当前正在上载,并且用户在上载完成之前离开页面,那么它应该返回一个确认对话框。关于如何实现这一点有什么想法吗?

这可以通过Javascript的事件来实现

var upload\u pending=false;
// ...
//一旦开始上传,切换布尔标志(如
//带有文件字段的表单的“提交”按钮上的单击事件,
//确保上传完成后将其切换回原来的状态
upload_pending=true;
// ...
window.onbeforeunload=函数(e){
e=e | | window.event;
如果(!upload_pending)返回;

//对于IE,添加到处理文件上载的表单末尾

$(window).bind('beforeunload', function () {
    if ($('#fileupload').data('fileupload')._active) {
        return 'Leaving now would abort your upload. Are you sure?';
    }
});

感谢Deefour,这是非常好的信息,但我认为我可能已经找到了一个需要更少工作的解决方案,因为BlueImp文件上载脚本在上载文件时已经包含活动状态。
$(window).bind('beforeunload', function () {
    if ($('#fileupload').data('fileupload')._active) {
        return 'Leaving now would abort your upload. Are you sure?';
    }
});