首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >文件下载对话框什么时候打开?- HTML,Javascript

文件下载对话框什么时候打开?- HTML,Javascript
EN

Stack Overflow用户
提问于 2010-04-02 03:25:23
回答 2查看 2.5K关注 0票数 2

我有一个html页面,当我单击页面上的文件链接时,文件下载对话框会弹出,这个文件对话框会锁定页面。我的意思是,如果不选择其中的一个选项(打开、保存、取消),我就不能在页面上做任何事情(这是正常的)。我需要的是如果javascript可以检查页面是否被锁定。(或者文件对话框是否弹出?)

附注:不要说“将一个onclick事件放到链接中”,因为服务器的响应可能非常慢(比如单击30秒后)。

EN

回答 2

Stack Overflow用户

发布于 2010-04-02 05:10:26

如果您知道您的服务器正在返回一个供下载的文件,那么您可以猜到该对话框是什么时候出现的(这是我从堆栈溢出问题中得到的一个相关问题的答案):

当您从页面发出HTTP请求时,添加一个参数,其值为一些随机字符串(如collisions)

  • The --它不必是安全的,但您希望避免服务器查找该参数。当它开始发送附件供下载时,它会添加一个带有随机字符串的cookie作为它的值。
  1. 现在,在页面发出HTTP请求之后,它启动一个间隔计时器。计时器函数中的代码检查document.cookie,以查找该随机字符串。一旦document.cookie包含该字符串,您就知道HTTP已将其发送到浏览器。由于您知道浏览器将要求用户保存附件,因此可以推断文件对话框在此时显示。

我所需要的是一种处理IE安全问题的方法,即文件附件来自直接用户“点击”以外的事件。我需要关闭一个模态对话框,所以我需要知道HTTP响应何时会返回。

票数 3
EN

Stack Overflow用户

发布于 2010-04-02 03:49:15

因为页面是锁定的,所以您不能使用JavaScript做任何事情,因为它也是锁定的。

但是,你想做什么?您是否试图以某种方式记录用户正在下载该文件的事实?如果是的话,有更好的方法来做,而且它们都在服务器端。使用一些服务器端脚本语言为文件提供服务,并记录下载的事实。

如果这不是您想要做的,那么唯一的方法是在链接上使用onclickonunload/onbeforeunload,但是这些方法不太可靠,我相信您会在不同的浏览器上发现完全不同的行为。

实际上,现在我想到了,还有一种方法,但它是非常脏的。这样做的目的是设置一个间隔,以便每秒钟运行一次,并检查两次运行之间是否超过了一秒钟。类似于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var lastTime = new Date().getTime();
function checkTime() {
    var curTime = new Date().getTime();
    if (curTime - lastTime > 1100) { // 1100 because there might be small browser lags 
        // do something after the dialog appeared and the user did something with it
    }
    lastTime = curTime;
}
setInterval(checkTime, 1000);

请注意,有些浏览器(我认为Chrome是一个例子)在打开对话框时不会阻塞页面,所以这可能行不通。如果你用这个的话,一定要仔细检查每件事。

我现在得去洗个澡了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2566360

复制
相关文章
FCoin交易所API文档
通过了解以下信息,您可以方便的使用 FCoin 提供的 API 来接入 FCoin 交易平台。
全栈程序员站长
2022/07/22
1.6K0
获取pdf文档属性的方法
 当我们想在打开pdf文件之前对pdf状态进行判断时,我们可以在pdf文档属性里添加自己需要的信息,例如把pdf的有效时间和开始时间以json格式保存在作者信息里,这样就方便得多了。因此我们需要这样的第三方的类库,对pdf文档信息进行读写,在这里我推荐pdfbox和pdfclown,这两个都是java处理pdf的类库,而且开源。下面主要介绍pdfclown,而pdfbox做法差不多。        首先,我们在官网上下载pdfclown的源代码http://www.stefanochizzolini.it/
forrestlin
2018/05/23
2.1K0
如何创建一个有效的帮助文档?
创建一个有效的帮助文档从一开始就需要大量的时间、金钱和其他资源。并且,您需要对知识库内容的持续维护进行投资,以确保其随着时间的推移而有效。
用户9912463
2022/07/25
2.2K1
查看sedna创建的数据库和集合,文档之类
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/details/46790143
血狼debugeeker
2018/09/20
4090
如何压缩Word文档大小?这个方法太简单啦!
在工作中经常需要对Word文档进行编辑和修改,编辑的越多,里面的文字和图片就会增加,这样的话在保存的时候就会出现问题,导致Word文档过大,这样不管是在发送的时候,还是在打开文档的时候速度就会比较慢,会影响工作的效率,其实是可以压缩Word文档大小的,那么如何压缩Word文档大小,下面就来给大家分享超级简单的方法哦,让你分分钟搞定Word压缩哦。
高效办公
2019/03/06
26.2K0
如何压缩Word文档大小?这个方法太简单啦!
这才是,2022年的 API 文档该有的样子!
事情是这样的:今天我们公司的后端说他接口写完了,并分享了一个接口文档给我。用的就是 Swagger UI 自动生成的那种接口文档,就像这种:
物立
2022/06/01
8920
获取和保存数据 - 集成 - 构建文档 - ckeditor5中文文档
CKEditor 5允许您以各种方式从中检索数据并将其保存到服务器(或通常用于您的系统)。 在本指南中,您可以了解可用选项及其优缺点。
ianzhi
2019/07/31
3.9K0
api数据接口文档_接口文档示例
本文主要是提供了一个接口文档的范文,内容修订历史、目录、时序图、接口要素描述、接口说明、使用示例、字典、FAQ。 使用MD格式文档(makedown),选择原因,容易格式转换,开发便于修改,版本维护界面,修改记录明显,普通文本工具即可编辑。
全栈程序员站长
2022/11/15
3K0
如何贡献文档
如何贡献文档 PaddlePaddle的文档包括英文文档 doc 和中文文档 doc_cn 两个部分。文档都是通过 cmake 驱动 sphinx 编译生成,生成后的文档分别存储在编译目录的 doc 和 doc_cn 两个子目录下。 也可以利用PaddlePaddle 工具来编译文档,这个情况下所有的文件会存在整理过的的文件目录 .ppo_workspace/content 下。 1 如何构建文档 PaddlePaddle的文档构建有三种方式。 A.使用PaddlePaddle.org工具 这个是目前推
用户1386409
2018/03/15
1K0
MongoDB系列---集合与文档操作03
  上一篇我们讲述了如何对MongoDB的权限和用户进行日常的基本操作,来达到我们对数据库的基本安全保障。
Arebirth
2020/06/19
1.3K0
利用JavaScript获取页面文档内容
JavaScript的document对象包含了页面的实际内容,所以利用document对象可以获取页面内容,例如页面标题、各个表单值。
于果
2021/08/25
2.1K0
jq获取文档和窗口高度
jquery获取窗口高度和窗口高度,$(document).height()、$(window).height()
93年的老男孩
2019/12/18
2K0
Mac OSX 给现有的应用追加基于文档的功能
在Xcode中创建Cocoa Application 工程时,通常有两种选择类型:<code>基于文档的Application</code> 和<code>非文档的Application</code>,具体是哪一种类型,关键在于创建工程的时候,你是否选中下图中的<code>Create Document-based Application</code>选项:
代码行者
2018/08/23
6440
Mac OSX 给现有的应用追加基于文档的功能
如何写出一个好的设计文档?
大部分的工程师都不重视设计文档的书写,对于一个需求,都是经过一些简单的讨论,写一个简单的方案甚至就是自己简单的想想就开始进行编码的工作。
一个会写诗的程序员
2019/07/18
2.3K0
还在手动整理数据库文档?试试这个工具
在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是萌生了要自己写一个插件工具的想法,但由于自己前期在程序设计上没有很多造诣,且能力偏低,有想法并不能很好实现,随着工作阅历的增加,和知识的不断储备,终于在 2020 年的 3 月中旬开始进行编写,4 月上旬完成初版,想完善差不多在开源,但由于工作太忙,业余时间不足,没有在进行完善,到了 6 月份由于工作原因、频繁设计和更改数据库、经常使用自己写的此插件、节省了很多时间,解决了很多问题 ,在仅有且不多的业余时间中、进行开源准备,于 2020 年 6 月 22 日,开源,欢迎大家使用、建议、并贡献。
冷冷
2020/08/10
4160
技术文档如何编写?
关于文档编写的几个思维 近期重新组织了好几篇技术文档,把其中的一些感悟提炼出来。 文档为达到容易理解和操作的程度,对大量的语言重新组织,内容的不同呈现,借助辅助工具等一系列操作,本文就是剖析整个流程 全文主要的流程是: 编写文档前,准备工作有哪些? 根据现有文档的问题是? 语言的组织和内容的不同呈现方式有哪些? 按照现有文档完成后的文档输出如何组织? 0. 程序员如何看待文档? 程序员一定会是接触各种各样的技术文档,文档写的好与不好,大致都能区分出来。 但是对于自己写的文档却可以容忍 “丑陋” 、“难以理解
谢伟
2018/06/06
7.6K1
教你如何快速从 Oracle 官方文档中获取需要的知识
https://docs.oracle.com/en/database/oracle/oracle-database/index.html
JiekeXu之路
2020/06/10
8K0
教你如何快速从 Oracle 官方文档中获取需要的知识
一个非常适合IT团队的在线API文档、技术文档工具
每当接手一个别人开发好的模块或者项目,看着那些没有写注释的代码,文档呢?!文档呢?!Show me the doc !!
MavenTalker
2020/02/14
2.1K0
一个非常适合IT团队的在线API文档、技术文档工具
还在手动整理数据库文档?试试这个工具
在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是需要一个插件工具screw[1]来维护。
用户4172423
2020/07/16
4440
还在手动整理数据库文档?试试这个工具
点击加载更多

相似问题

获取集合中的所有文档以及文档的路径

20

如何检查集合上是否存在文档以及文档在何处

11

如何获取所查询文档的id?

10

如何从一个集合的特定文档中获取所有的密钥?

10

如何获取集合中所有文档的所有文档?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文