uploadify 3 Выберите файл, который не работает в ie9

Я создал страницу с загрузчиком. В качестве загрузчика использую Uploadify 3. Код работает во всех браузерах, кроме IE9. Когда я перевожу IE 9 в режим совместимости, он работает. В IE9 я не могу нажать кнопку загрузки. Показывает, но реакции на нажатие нет. Таким образом, диалоговое окно выбора файла не открывается. В Opera, Chrome и FF кнопка работает, и когда я нажимаю, отображается диалоговое окно открытия файла.

Flash работает в IE9. (версия 11,0,1,152) (ютюб работает)

Когда я нажимаю кнопку правой кнопкой мыши, я не получаю информацию о флэш-памяти. Когда я делаю это во всех других браузерах, я получаю информацию о флэш-памяти. Когда я щелкаю правой кнопкой мыши на YouTube (в ie9), я также получаю информацию о флэш-памяти....?

Это мой загружаемый код jquery:

 $(document).ready(function() { 
    $('#fileInput').uploadify({ 
        'swf': '/Content/Scripts/uploadify3/uploadify.swf', 
        'uploader': '/nl-nl/Attachment/Upload', 
        'cancelImage': '/Content/Scripts/uploadify3/uploadify-cancel.png', 
        'checkExisting': '/nl-nl/Attachment/Check', 
        'multi': true, 
        'buttonText': 'Upload', 
        'postData' :{'RelationId' : '@cookie'}, 
        'sizeLimit': 2147483647, 
        'auto': true, 

        onError: function(a, b, c, d) { 
            if (d.status == 404) 
                alert("Could not find upload script. Use a path relative to: " + "<?= getcwd() ?>"); 
            else if (d.type === "HTTP") 
                alert("error " + d.type + ": " + d.status); 
            else if (d.type === "File Size") 
                alert(c.name + " " + d.type + " Limit: " + Math.round(d.sizeLimit / 1024) + "KB"); 
            else 
                alert("error " + d.type + ": " + d.text); 
        }, 
        onUploadComplete: function() { 
            $("#Grid").data('tGrid').ajaxRequest(); 

        } 
    }); 
});

Я сделал ошибку? Это баг флешки? Или что-то другое?


person Patrick    schedule 07.11.2011    source источник


Ответы (2)


Это работает, когда вы заменяете загрузку swf на весь путь

http://www.uploadify.com/uploadify/uploadify.swf

Это не элегантное решение, но оно работает. У меня эта проблема только на локальном хосте.

Теперь кнопка выбора работает отлично в IE, но у нас есть ошибка безопасности. Чтобы решить эту проблему, вам нужно добавить файл crossdomain.xml в корневой каталог.

Пример crossdomain.xml для всех доменов (просто для теста)

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*" />
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

или попробуйте добавить строку в файл Global.asax Добавьте эту строку в метод RegisterRoutes

  routes.IgnoreRoute("crossdomain.xml");
person Tomasz Maj    schedule 29.06.2012
comment
Только что была точно такая же проблема. Я заменил свой swf-путь на live-путь, и он сразу заработал. - person tmutton; 22.08.2012
comment
СПАСИБО! Я отлаживал это много лет! Для меня мне пришлось изменить путь и добавить crossdomain.xml (строка маршрутов не работала). - person testpattern; 07.11.2012

Не знаю реальной проблемы, но для кого-то еще с этой проблемой. Он работает после развертывания, но не в режиме отладчика.

person Patrick    schedule 07.11.2011
comment
Да, у меня тоже была такая же проблема, удалил флеш и переустановил предыдущую версию, и все в порядке. - person coder; 07.11.2011
comment
Я думаю, что это новая вспышка, я собираюсь понизить вспышку в IE, чтобы проверить. - person Galen; 14.11.2011
comment
Если это новая вспышка, у них есть запрет на локальный запуск только в включенной политике IE 9 или что-то в этом роде. - person Patrick; 14.11.2011