检测文件是否已提供给浏览器?..有点

Joe*_*oel 2 javascript savefiledialog

我有一个按钮,它将window.location设置为一个php文件,生成一个feed然后下载.但是,由于文件的大小因文件放入Feed而有所不同,因此从点击按钮到弹出的文件对话框有时需要一段时间.

我希望能够做的是单击按钮并显示loading.gif,直到对话框/文件完成.

任何想法都会很酷!

干杯

Jos*_*osh 5

我不确定为什么你需要检查文件的大小?如果你使用ajax动态地执行get/post,并且你正在做的就是在发生这种情况时尝试显示加载图标,那么抛出异步活动指示器就相当简单了.例如,使用jquery:

$("#loading").ajaxStart(function(){
   $(this).show();
});

$("#loading").ajaxStop(function(){
   $(this).hide();
});

$("#feeds").load("feeds.php?id=89734258972347895");
Run Code Online (Sandbox Code Playgroud)

上面的代码设置一个id为"loading"的DOM对象,以便在启动和停止任何异步请求时显示和隐藏..load(url)将url的内容加载到div #feeds中.如果您使用php设置content-disposition:attachment标头,它将自动启动文件下载窗口,即使它已异步加载到div中.这也是可能的,当然没有jquery,只有一堆浏览器兼容性javascript,它不像简单地订阅ajaxStart和ajaxStop事件来显示和隐藏你的加载img.

玩笑