Волею случая, занесло меня на сайт Торговой площадки “Фабрикант”. Как и все подобные площадки, данный сайт требует для корректной работы Internet Explorer и ActiveX. И тут уже нет ничего удивительного – все давно привыкли.
И вот брожу я по сайту, перехожу в раздел “Демо”. Далее – Электронная цифровая подпись (ЭЦП). И хочу проверить эту самую ЭЦП – нажимаю на вкладку Проверка ЭЦП. И что я вижу? “Ошибка! Для корректной работы Cистемы требуется Internet Explorer”. Сразу подумал, что грешным делом зашёл на сайт с помощью Google Chrome. Но нет, ошибка в православном IE!
WTF?, подумал я… И полез в код.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
var Signature = { ERROR_NEED_IE_FOR_CORRECT_WORK : 'Для корректной работы Cистемы требуется Internet Explorer', $certificates : null, init: function(form) { Signature.$certificates = $('#certificates'); switch (navigator.appName) { case 'Microsoft Internet Explorer': form.submit(Signature.save); try { new ActiveXObject("CAdESCOM.CPSigner"); } catch (err) { alert(err.message); } Signature.fillCertificates(); Signature.checkCertificates(); Signature.$certificates.val($('#preselected_certificate').val()); break; default: form.submit(Signature.showError); $('#buttonSignForm').attr('disabled','disabled').attr('title', Signature.ERROR_NEED_IE_FOR_CORRECT_WORK); Signature.$certificates.attr('disabled','disabled').attr('title', Signature.ERROR_NEED_IE_FOR_CORRECT_WORK); Signature.showError(); } }, |
Всё просто – браузер проверяется с помощью navigator.appName, однако, начиная с 11 версии, браузер на такой запрос вернёт “Netscape“, вместо “Microsoft Internet Explorer“, которого так ждёт скрипт. Хочу заметить, что IE11 вышел в ноябре 2013. А об этой особенности вообще известно уже больше года – с момента релиза предварительной версии. О том, как решить данную проблему, уже много раз спрашивали на http://stackoverflow.com/.
А пока программисты не внесут исправления, рядовым пользователям придётся включать “Просмотр в режиме совместимости” в браузере, в разделе “Сервис”, и добавлять сайт в список для просмотра в режиме совместимости. И это хорошо, если данное решение будет найдено в интернете или служба тех. поддержки подскажет, что делать. А если рабочий день подходит к концу, пора домой, тех. поддержка не отвечает а сроки подачи заявки кончаются через несколько часов?!
Для отправки комментария вам необходимо авторизоваться.