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();
    }
};




jquery.uploadify.3.2 试用(同时解决IE9 IE10 按钮无法点击的问题)

以前用的是版本2.1.4,这次看见更新后就尝试了一下,发现有很多改变。 首先引入 js 和 css 当然jquery 是必不可少的 接下来是代码: //文件上传 $(function() {...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

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

// mod-s wxm 解决模态弹出窗口与上传主键的冲突问题 //return !noData || noData !== true && elem.getAttribute("classid") ...

uploadify触发表单提交的问题

input id="testFileInput" type="file" name="image" 02                     uploaderOption="{...

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

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

关于IE9下用按钮触发file上传控件,请求无法触发的问题

很多系统为了美观,都会在网页中用一个隐藏的按钮触发file上传控件,一般正常的在Chrome和Firefox下没有问题,但是切换到IE9和IE10下请求无法到达后台,这是因为IE9和IE10为了安全考...

点击uploadify上传按钮没有效果

在做项目时使用uploadify作为上传插件,按钮图标能够正常显示,swf文件也正常加载了,但是鼠标放上去没有变成小手形状,点击也没有任何反应,也不弹出选择文件的窗口 最后发现原因是我的swf文件是在...

Webuploader IE浏览器兼容问题(点击无反应)解决

最近项目中需要做文件上传,用到了Webuploader ,经过全面调试在chrome ,火狐等浏览器调试都没问题,但是测试人员反应在IE浏览器点击没反应,选择文件窗口未弹出。 开发过程并未使用IE浏览...

Uploadify在IE下的兼容问题解决

一、在IE9、IE10不能点击的问题解决 解决方法:进入uploadify的js文件中,搜索SWFUpload.prototype.getFlashHTML,找到它对应的语句,将方法全部替换为以下内...

uploadify各种问题解决

一、在IE9、IE10不能点击的问题解决 修改jquery.uploadify.min.js中大概877行左右的"SWFUpload.prototype.getFlashHTML"方法,将方法完全替换...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IE9下uploadify在模态窗口里无法弹出选择文件窗口的问题
举报原因:
原因补充:

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