下载时IE8中出现信息栏

发布于 2024-11-04 11:38:02 字数 205 浏览 0 评论 0原文

我有一个应用程序,其中有以 Word/PDF 格式导出文档的选项。我们提交一个表单来发布 HTML 并将其发送到服务器进行转换。在后端,servlet 在设置 contentType 后将其写回客户端。信息栏仅在第一次下载期间出现。

我不能建议用户降低浏览器安全级别。因此我需要一个解决方案来绕过这个警报。我看到 Google Docs 已经处理了这个问题。有人知道需要做什么吗?

I have an application in which there are options to Export the document in Word/PDF format. We do a form submit to post the HTML and send it to the server for conversion. In the back-end the servlet writes it back to client after setting a contentType. The Information Bar appears during the first download only.

I cannot recommend users to reduce their Browser Security levels. Hence i need a solution to by-pass this alert. I saw that Google Docs has handled this. Does anyone have an idea about what needs to be done ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜血缘 2024-11-11 11:38:02

我正在使用以下 JQuery 代码:

$.download = function(url, data, method){
    //url and data options required
    if( url && data ){ 
        //data can be string of parameters or array/object
        data = typeof data == 'string' ? data : $.param(data);
        //split params into form inputs
        var inputs = '';
        $.each(data.split('&'), function(){ 
            var pair = this.split('=');
            inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; 
        });
        //send request
        $('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
        .appendTo('body').submit().remove();
    };
};

每次启动下载时,我都会

$.download(options);

使用正确的内容类型标头(例如 Word)触发服务器响应。

也许您忘记从 DOM 中删除提交的表单?

I'm using the following JQuery code:

$.download = function(url, data, method){
    //url and data options required
    if( url && data ){ 
        //data can be string of parameters or array/object
        data = typeof data == 'string' ? data : $.param(data);
        //split params into form inputs
        var inputs = '';
        $.each(data.split('&'), function(){ 
            var pair = this.split('=');
            inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; 
        });
        //send request
        $('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
        .appendTo('body').submit().remove();
    };
};

And each time download should be initiated, I'm firing

$.download(options);

Server response is with proper content-type headers (e.g. Word).

Maybe you have forgotten to remove submitted form from the DOM?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文