相关疑难解决方法(0)

检测浏览器何时收到文件下载

我有一个页面,允许用户下载动态生成的文件.生成需要很长时间,所以我想显示一个"等待"指标.问题是,我无法弄清楚如何检测浏览器何时收到文件,所以我可以隐藏指标.

我正在以隐藏的形式发出请求,该请求POST到服务器,并针对其结果定位隐藏的iframe.这样我就不会用结果替换整个浏览器窗口.我在iframe上监听"加载"事件,希望在下载完成后它会触发.

我在文件中返回"Content-Disposition:attachment"标题,这会导致浏览器显示"保存"对话框.但浏览器不会在iframe中触发"加载"事件.

我尝试过的一种方法是使用多部分响应.因此它会发送一个空的HTML文件,以及附加的可下载文件.例如:

Content-type: multipart/x-mixed-replace;boundary="abcde"

--abcde
Content-type: text/html

--abcde
Content-type: application/vnd.fdf
Content-Disposition: attachment; filename=foo.fdf

file-content
--abcde
Run Code Online (Sandbox Code Playgroud)

这适用于Firefox; 它接收空的HTML文件,触发"load"事件,然后显示可下载文件的"Save"对话框.但它在IE和Safari上失败了; IE触发"加载"事件但不下载文件,Safari下载文件(名称和内容类型错误),并且不会触发"加载"事件.

一种不同的方法可能是调用启动文件创建,然后轮询服务器直到它准备就绪,然后下载已经创建的文件.但我宁愿避免在服务器上创建临时文件.

有没有人有更好的主意?

javascript mime http

464
推荐指数
11
解决办法
28万
查看次数

在JavaScript中添加onclick函数转到url?

我正在使用这个花哨的小JavaScript来突出显示用户在其上悬停的字段.你有没有可以告诉我是否有一种方法可以添加一个onclick函数,它将作为一个链接并转到一个URL?

<script>
         $(function() {
            $('tr').hover(function() {
                $(this).css('background-color', '#eee');
                $(this).contents('td').css({'border': '0px solid red', 'border-left': 'none', 'border-right': 'none'});
                $(this).contents('td:first').css('border-left', '0px solid red');
                $(this).contents('td:last').css('border-right', '0px solid red');
            },
            function() {
                $(this).css('background-color', '#FFFFFF');
                $(this).contents('td').css('border', 'none');
                $('a#read_message.php').click(function(){ URL(); });
            });
        });
        </script>
Run Code Online (Sandbox Code Playgroud)

javascript jquery hyperlink

87
推荐指数
7
解决办法
49万
查看次数

如何检测window.print()完成

在我的应用程序中,我尝试打印出用户的凭证页面,我用过:

  var htm ="<div>Voucher Details</div>";
  $('#divprint').html(htm);
  window.setTimeout('window.print()',2000);
Run Code Online (Sandbox Code Playgroud)

' divprint' div在我的页面中存储有关凭证的信息.

它工作正常,弹出打印页面.但是一旦用户点击' print'或' close'弹出窗口,我想进一步继续申请.

例如,我想在弹出窗口关闭后将用户重定向到另一个页面:

window.application.directtoantherpage();//a function which direct user to other page
Run Code Online (Sandbox Code Playgroud)

如何确定弹出打印窗口是关闭还是打印完成?

javascript jquery

53
推荐指数
4
解决办法
11万
查看次数

标签 统计

javascript ×3

jquery ×2

http ×1

hyperlink ×1

mime ×1