在ie9中上传获取js错误:SCRIPT5007:预期的对象

时间:2013-04-22 10:53:47

标签: javascript internet-explorer internet-explorer-9 uploadify

我正在尝试在div上绑定uploadify 当我点击上传按钮时,它会显示SCRIPT5007: Object expected.

之类的错误

对于下面的演示检查,链接在ie9

中拖动div时产生错误

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.20/jquery-ui.js"></script>
<script type="text/javascript" src="http://www.uploadify.com/wp-content/themes/uploadify/js/jquery.uploadify.min.js"></script>

<div class="container" id="container">
    <div id="uploadify-item"></div>
    This container is not draggable in IE9 but it works in Chrome and FF. Why not?
</div>

JS

$('#uploadify-item').uploadify({
    'swf'      : 'http://www.uploadify.com/uploadify/uploadify.swf',
    'uploader' : 'http://www.uploadify.com/uploadify/uploadify.php'
});
$("#container").draggable();

参考:http://jsfiddle.net/axzdR/19/

4 个答案:

答案 0 :(得分:19)

IE9似乎有一个SWFUpload嵌入错误,如果你试图 在元素上调用“getAttribute / removeAttribute / setAttribute”, 引发“预期的对象”错误。我发现cleanUp() swfupload.js中的函数删除所有js函数,包括 来自对象DOM的“getAttribute / removeAttribute / setAttribute” IE9。

解决此问题

在SWFUpload.prototype.cleanUp

变化:

if (typeof (movieElement[key]) === "function")

要:

if (typeof (movieElement[key]) === "function" && key[0] <= 'Z') // Remove only Flash functions (starts with capital letters). 

uploadify的修补版本保留在此位置

http://www.dariowiz.com/scripts/jquery.uploadify3.1Fixed.js

问候。

答案 1 :(得分:2)

尝试使用lates jQuery(容器在IE9中可拖动,“对象预期”错误消失)

 <script type="text/javascript"
 src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
 <script type="text/javascript"
 src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>

确保已安装适用于IE的Flash播放器(它是单独安装) 它可以从这里下载 http://get.adobe.com/flashplayer/otherversions/

但即使是Unloadify demos也无法在我的IE9中运行(我可以在“选择文件”按钮中点击一分钟而没有结果,突然无缘无故地开始工作并打开选择文件对话框)

答案 2 :(得分:1)

您可以在此处找到此问题的最终解决方案&gt;&gt;&gt;的 https://groups.google.com/forum/?fromgroups=#!topic/swfupload/57ySk2JoLbE

答案 3 :(得分:0)

似乎在uploadify的源中存在与IE 9中的jquery UI冲突的问题。特别是在swfupload实用程序中。为了解决这个问题,你需要做一些看似有详细步骤的黑客攻击:http://www.uploadify.com/forum/#/discussion/comment/19212

抱歉,如果不设置整个测试环境,我无法验证这一点。不是可以放在JSFiddle中的东西。祝你好运,如果你成功,请告诉我。