#jquery #internet-explorer-6
#jquery #internet-explorer-6
Вопрос:
У меня небольшая проблема с приложением, которое я пишу.
По сути, я использую jquery для замены обычной кнопки html «обзор», затем, когда кто-то выбирает файл, он отображает его рядом с кнопкой «Новая загрузка».
Я протестировал это повсюду, и это работает идеально… кроме гребаного ie6.
Мне было бы все равно, за исключением того, что мой клиент работает в корпоративной среде, которая не хочет тратить время или деньги, выходящие из каменного века.
Мне действительно нужен обходной путь, чтобы это заработало и в ie6.
Когда вы нажимаете кнопку «Создать», появляется диалоговое окно «Обзор», за исключением того, что все последующее не работает, и при нажатии на кнопку «Обновить» файл не загружается.
Я не очень хорошо работаю с ошибками ie6, поэтому я не знаю, с чего начать.
Код, который у меня есть для jQuery, а также диалоговое окно ввода и, выглядит следующим образом:
<script type="text/javascript">
function clickFileUpload() {
$('.chart').trigger('click');
}
</script>
<script type="text/javascript">
$(function() {
$(".chart").change(function (){
var fileName = $(this).val();
$(".filename").html(fileName);
});
});
</script>
<p class="box"><a href="#" onclick="clickFileUpload();" class="btn"><span class="icon icon-add">amp;nbsp;</span>Upload Chart</a>amp;nbsp;amp;nbsp;<span class="filename">No file chosen</span><input class="chart" name="chart" style="visibility: hidden;" type="file"></p>
Буду признателен за любую помощь.
Приветствия,
Ответ №1:
Я не могу сказать наверняка, но есть большая вероятность, что это может быть не ошибка, а ограничение безопасности. Из-за возраста и известных проблем с безопасностью IE6 MS изменила порядок ввода файлов, так что, возможно, он более строгий, чем более новые версии.
Мое предложение: не пытайтесь изменять стиль, сценарий или иным образом изменять входные данные файла. Ограничения существуют не просто так. Дизайнеру в вас это может не понравиться, но это позволяет избежать других будущих проблем из-за разных или меняющихся ограничений во всех браузерах.
Если вам действительно нужно это сделать, то для этого есть готовые скрипты, однако я никогда ими не пользовался и не могу сказать, работают ли они с IE6. Также существуют обходные пути для Flash и Java-апплетов.