Подскажите () с Internet Explorer 8
Мне трудно найти решение для моей проблемы. Вот фрагмент кода:
var ans = prompt("Mot de passe", '');
if (ans != '' && ans != null)
__doPostBack('__Page', ans);
else
window.location = "../Erreurs/NotAuthorized.aspx";
Этот код прекрасно работает с Internet Explorer 9. Но мой клиент работает исключительно с Internet Explorer 8, поэтому я протестировал его с ieTester в IE8. Но проблема в том, что подсказка не отображается, и она автоматически перенаправляется, потому что на входе была пустая строка ('').
Так как мне исправить это для работы с Internet Explorer 8?
4 ответа
Похоже, что для IE- 8 это особая безопасность, у меня нет других версий для тестирования. призвание prompt()
выдает предупреждение о скриптовом окне с запросом информации. Я могу щелкнуть, чтобы разрешить, и после обновления страницы появится окно с предложением, как и ожидалось.
Если вы собираетесь настаивать на использовании prompt()
Вам, вероятно, придется указать, что параметры безопасности на целевых машинах настроены так, чтобы разрешать это.
IE имеет параметр в настройках Интернета, чтобы разрешить или запретить prompt()
,
http://adamhaskell.net/img/ie-prompt.png
По умолчанию в IE8 этот параметр отключен. Следовательно, звонки prompt()
игнорируются и ""
возвращается ими.
Вы не должны использовать prompt()
тем не мение. Используйте форму.
Веб-сайт Microsoft для разработчиков сообщает нам, что "prompt()" устарела и в настоящее время обычно блокируется по соображениям безопасности: "По умолчанию этот метод блокируется информационной панелью в зоне Интернета. Это помогает предотвратить инициирование атак со стороны злоумышленников".
Из этого отчета похоже, что это известная ошибка в IETester?
http://www.my-debugbar.com/forum/t294-Javascript-Alerts.html