Загрузить в ie9 get js error: SCRIPT5007: ожидаемый объект - программирование
Подтвердить что ты не робот

Загрузить в ie9 get js error: SCRIPT5007: ожидаемый объект

Я пытаюсь связать uploadify на div.
Когда я нажал кнопку загрузки, он показал мне ошибку, например SCRIPT5007: Object expected.

Для демонстрационной проверки ниже ссылки, которая вызвала ошибку при перетаскивании div в ie9

голова

<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/

4b9b3361

Ответ 1

IE9, похоже, имеет ошибку с вставками SWFUpload, в результате чего, если вы попытаетесь вызовите "getAttribute/removeAttribute/setAttribute" на элементе, возникает ошибка "ожидаемый объект". И я обнаружил, что cleanUp() функция в swfupload.js удаляет все js-функции, включая "getAttribute/removeAttribute/setAttribute" из объекта DOM в IE9.

Чтобы устранить эту проблему

В SWFUpload.prototype.cleanUp

Изменить:

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

To:

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

С уважением.

Ответ 2

Попробуйте использовать lates jQuery (контейнер перетаскивается в IE9, а ошибка "Object expected" исчезает)

 <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>

Убедитесь, что вы установили Flash Player для IE (это отдельная установка) Его можно скачать здесь http://get.adobe.com/flashplayer/otherversions/

Но даже Unloadify demos не работает в моем IE9 (я могу щелкнуть как минута в кнопке Выбрать файлы без результата и внезапно без причины он начинает работать и открывает диалог выбора файлов)

Ответ 4

Похоже, что есть проблема в источниках uploaded, которые конфликтуют с jQuery UI в IE 9. В частности, в утилите swfupload. Чтобы исправить это, вам нужно сделать небольшой взлом, который, как представляется, содержит подробные шаги здесь: http://www.uploadify.com/forum/#/discussion/comment/19212

Извините, я не могу проверить это без настройки всей тестовой среды. Не то, что можно просто положить в JSFiddle. Удачи, дайте мне знать, если вам удастся.