Можно ли обнаружить конфигурацию усиленной безопасности Internet Explorer в javascript? - PullRequest
7 голосов
/ 22 июня 2010

Есть ли какой-нибудь способ узнать из javascript, если в браузере включена "расширенная конфигурация безопасности"?

У меня постоянно возникают проблемы с некоторыми элементами управления, не работающими из динамически загружаемого контента.Это происходит только с браузерами, работающими в системах Windows Server 2003/2008 - даже когда я добавляю сервер в «доверенную» зону.

Может быть, кто-то уже разработал метод выполнения этой задачи?

Заранее спасибо

Ответы [ 4 ]

3 голосов
/ 17 января 2017

Вместо того, чтобы тестировать IE ESC напрямую, мы можем проверить его влияние.

Я обнаружил, что при включенной ESC события onclick динамически добавляемого контента не будут запускаться. Поэтому я тестирую эти события напрямую.

var IEESCEnabled = true;
var testButton = $("<button style=\"display: none;\" onclick=\"IEESCEnabled = false; alert('No problems here.');\">Test IE ESC</button>");
testButton.click();
if (IEESCEnabled) {
    alert("We have a problem.");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

В моем приложении такой тест перенаправляет пользователя на страницу, объясняющую его проблему. Он сопровождается элементом noscript для проверки того, что у них вообще работает JavaScript.

1 голос
/ 19 июля 2010

Я не думаю, что это возможно, и если это все-таки возможно, то это ошибка, которая может быть рано или поздно исправлена.

Один из основных моментов этой "дополнительной безопасности" был для клиентаиметь его, но не обнаруживать серверами, что не дает им возможности узнать, когда пытаться его обойти, а когда нет.

1 голос
/ 19 июля 2010

Не отключается ли JavaScript при использовании расширенной настройки безопасности?

Тогда, если вы хотите отобразить только сообщение для пользователя, просто отобразите сообщение в обычном html и скройте его с помощью javascript, чтобы его увидели только пользователи без javascript.Если вам нужно обработать его на стороне сервера (например, при выводе другой версии вашего сайта), просто включите javascript, чтобы перенаправить пользователей в вашу версию с поддержкой javascript.Пользователи без javascript останутся на странице не-js.

Если отключены только активные ActiveX с возможностью сценариев, применяется тот же метод, просто вставьте ActiveX и попробуйте «написать» его, в случае неудачи вы можете перенаправить, показать сообщение и т. Д.конечно, не обнаруживает расширенную конфигурацию безопасности как таковую, но симптомы, которые появляются, когда она включена.Так что, вероятно, он не сможет отличить пользователей, использующих расширенную конфигурацию безопасности, от пользователей, которые просто отключили JS / ActiveX или используют браузер, который не поддерживает сценарии.

0 голосов
/ 22 июня 2010

Я думаю, вы можете найти SV1 в строке агента пользователя .

...