打开/另存为对话框

时间:2010-01-19 08:58:50

标签: jquery

Jquery的:

有没有办法捕获浏览器打开“打开/另存为”对话框时触发的事件? Open/Save dialog example http://qpack.orcanos.com/helpcenter/Images/openSave.png

显示对话框时我需要做点什么。

6 个答案:

答案 0 :(得分:3)

不可能。浏览器专门处理这个问题,以便网络黑客无法强迫您下载病毒,如果它发生在javascript中,这对他们来说会更容易。

答案 1 :(得分:1)

我知道没有特别的方法来检测此窗口何时出现。尝试在下载按钮/图标上添加单击处理程序。或者当我在我的项目中解决这个问题时 - 我添加了异步逻辑。当文档生成时,我将'succes'传递给客户端,然后JS代码创建了我需要的逻辑。

答案 2 :(得分:1)

不是我知道的。

我猜你在点击页面上的某个项目时会打开它。你最好的选择是捕获那个事件。

鉴于你的主播:

<a id="MyLink" href="MyDoc.doc">

在上面的框弹出

之前,一个简单的点击handkler将拦截此事件
$(document).ready(function(){
    $("#MyLink").click(function() {
        alert($(this).length);
    });
});

答案 3 :(得分:0)

据我所知,没有办法做到这一点。

答案 4 :(得分:0)

是否始终与您要检查的文件类型相同?如果是这样,你可以做类似

的事情
$("a").click(function(e){
   var extension = $(this).attr("href").substr($(this).attr("src").lastIndexOf("."));
   if ((extension && /^(zip|vbd)$/.test(extension))){
      alert("Hi now you can do whatever you needed to do!");
   }
});

注意没有e.preventDefault(),因为你仍然希望提示出现我假设?

File extension check snippet

答案 5 :(得分:0)

您可能想查看OpenSave:

http://www.gieson.com/Library/projects/utilities/opensave/

它不是jQuery的一部分,但你可以轻松地集成它。看起来他们正在使用Flash来解决这个问题。