IE9下uploadify在模态窗口里无法弹出选择文件窗口的问题

原创 2013年06月17日 11:17:02
公司的新项目用了高端洋气的uploadify,看起来比原来的老掉牙上传附件功能要“炫酷”多了。我用我的破XP里的IE8开发时没碰到什么问题,后来测试用IE9一测就有各种问题了。
如果把uploadify放在一个模态窗口里,window.showModalDialog("URL", "", "params");
IE9再点击上传控件时,就会没有任何。当把模态窗口关闭时,选择的文件窗口才会弹出来。更雷人的是,当把这个选择文件窗口关闭时,IE9直接卡死崩溃,屡重现不爽,销魂指数高达五星。
另外值得一提的是,同样的问题也出现在另一款jquery的flash上传控件AjaxUploader之中,看来所有维护jquery+flash上传控件的团队都需要在IE9下重新测试一下自己的项目了。

这个问题,搞了半天也没搞出什么太像样的解决方案。后来想出一个略囧的半解决方案:用非模态窗口去代替有上传控件的模态窗口。

function uploadAppendix(){
    if (win==null){
            win = window.showModelessDialog("URL", window, "params");
    }
}

既然是非模态窗口,有许多东西就要自己控制了。加上win==null这个if块,防止用户点开一个上传窗口之后,再点开另一个上传窗口。其他可能与上传窗口存在冲突操作的按钮或者链接什么的,也需要加上同样的if块限制。
再就是如果需要在关闭窗口时刷新父页面的话,务必得加上window这一项。模态窗口想刷新父页面很简单,只需要在父页面中打开模态窗口的地方接下来写一句location.reload(); 这样一关模态窗口,父页面就自动刷新了。
但是非模态窗口不能这么写,程序会不等你关窗口直接就把父页面刷新,非模态窗口也跟着马上消失了。所以刷新需要写在非模态窗口里而不是写在父页面里。传window进去其实就是把父页面传给非模态窗口,让模态窗口自己实现关闭时刷新父页面。

在非模态窗口的jsp里写:

// 刷新父窗口
window.onunload = function(){
    if (window!=null && window.dialogArguments!=null){
        window.dialogArguments.location.reload();
    }
};




uploadify上传组件点击uploadify.swf,无法弹出文件选择框的原因及解决方法

项目中用到了jQuery的uploadify上传组件,可是调试代码并没有发现代码哪里写错了。起初以为是模态框遮盖了uploadify.swf,就把style=”position: absolute; ...
  • cs6704
  • cs6704
  • 2015年12月17日 12:11
  • 5983

解决模态弹出窗口与上传文件控件(uploadify)的冲突问题

// mod-s wxm 解决模态弹出窗口与上传主键的冲突问题 //return !noData || noData !== true && elem.getAttribute("classid") ...
  • jlbaowei
  • jlbaowei
  • 2016年05月09日 11:48
  • 1219

uploadify在ie9下点击按钮后,不弹出浏览文件对话框的问题?

有两种方法: 第一种: SWFUpload Version: 2.2.0 Beta 2 Flash Player Version: current Operating System:W...
  • cj403522231
  • cj403522231
  • 2015年09月14日 10:46
  • 273

解决uploadify中的swf点击时没有反应的问题.

转到C:/Documents and Settings//Application Data/Macromedia/Flash Player/#Security,新建一个为FlashPlayerTrus...
  • leeking888
  • leeking888
  • 2011年04月28日 21:32
  • 7071

uploadify IE不兼容问题 上传按钮渲染失败

uploadify 基本实现了各浏览器的兼容,已经基本不存在兼容问题。那么为什么渲染失败,无法使用呢? 其中只需要牢记一点就可以解决这个问题,那就是uploadify是基于flash实现的兼容。那么...
  • qq_21915727
  • qq_21915727
  • 2017年05月17日 17:41
  • 258

Windows下,文件(夹)选择/打开对话框的三种创建方式

Windows编程时,常用到打开文件(夹)对话框,选择文件或者多个文件的功能。Windows提供了好几种方式,现在做个总结,也好方便以后的使用。...
  • wutong_xingkong
  • wutong_xingkong
  • 2017年01月03日 20:49
  • 918

IE9下uploadify在模态窗口里无法弹出选择文件窗口的问题

公司的新项目用了高端洋气的uploadify,看起来比原来的老掉牙上传附件功能要“炫酷”多了。我用我的破XP里的IE8开发时没碰到什么问题,后来测试用IE9一测就有各种问题了。 如果把uploadi...
  • zoharxmj
  • zoharxmj
  • 2013年06月17日 11:17
  • 2590

解决uploadify 3.1 ie上传失效,没有弹出框

问题描述:firefox,chrome正常,ie在兼容模式下正常,但是在正常浏览模式下无法弹出上传文件的选择框 解决办法:如果用的是jquery.uploadify-3.1.min.js的话,那这个...
  • WDYDXF
  • WDYDXF
  • 2013年03月20日 14:51
  • 2301

jquery.uploadify.3.2.1 试用在IE9,IE10中 上传文件的按钮会无法点击

以前用的是版本2.1.4,这次看见更新后就尝试了一下,发现有很多改变。 首先引入 js 和 css link rel="stylesheet" href="uploadify.css" />  ...
  • chenxiang199055
  • chenxiang199055
  • 2013年08月24日 12:38
  • 10901

模态窗口提交form打开新窗口的解决办法

模态窗口提交form打开新窗口的解决办法
  • samxx8
  • samxx8
  • 2011年03月17日 13:15
  • 3686
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IE9下uploadify在模态窗口里无法弹出选择文件窗口的问题
举报原因:
原因补充:

(最多只允许输入30个字)