Как определить, что IE получает доступ к моему сайту как к доверенному сайту? - PullRequest
7 голосов
/ 31 октября 2008

Можно ли определить, доступен ли мой веб-сайт как надежный сайт? В другом вопросе мы определили, что в общем случае нецелесообразно иметь доступ к настройкам клиентского IE. Будет ли это квалифицироваться как исключение?

Причина, по которой я хотел бы сделать это, заключается в том, что некоторые функции не будут работать, если к сайту не обращаются как к доверенному сайту (например, sendmail на стороне клиента - не спрашивать), и я бы хотел быть в состоянии предупредить пользователей. Несмотря на множество предупреждений на страницах, многие пользователи все еще не читают и отправляют нам настиграммы. Мы хотели бы уменьшить объем электронной почты, обнаружив это состояние и высвободив большое предупреждение, которое в основном говорит: « Вы не прочитали предупреждения, и то, что вы пытаетесь сделать, не будет работать, пока вы не измените свои настройки !"Любые идеи приветствуются.

РЕДАКТИРОВАТЬ: В нашем магазине, sendmail на стороне клиента работает только, если сайт является доверенным, и я не могу изменить это из-за требований безопасности, а также я не могу переключиться на sendmail на стороне сервера. Однако это не единственная причина сбоя sendmail на стороне клиента, поэтому я не могу просто перехватить ошибку sendmail, чтобы определить это. Кроме того, я не хочу, чтобы это переросло в обсуждение sendmail.

Ответы [ 5 ]

2 голосов
/ 31 октября 2008

Вот тест, который вы можете использовать:

function isTrustedIE(){
    try{
        var test=new ActiveXObject("Scripting.FileSystemObject");
    }
    catch(e){
        return false;
    }

    return true;
}

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

0 голосов
/ 20 марта 2013

В вашей ситуации (когда конкретная проблема, с которой вы сталкиваетесь, - сбой sendmail), я бы по-прежнему предлагал перехватить sendmail, но затем дал бы более общий ответ. «Ваше письмо не получилось. Возможно, оно не получилось по любой из следующих причин», а затем добавьте маркированный список с надписью «не сделал этот сайт надежным» красиво и жирно вверху. Если sendmail не работает по причинам, отличным от того, что ваш сайт не является доверенным, ваши пользователи, возможно, должны знать об этом тоже, в конце концов.

0 голосов
/ 03 ноября 2008

Вероятно, хороший способ справиться с этим, все еще поддерживая необычные комбинации, - это проверить, было ли конкретное поведение успешным.

Например, если вам нужно сделать

a.innerHTML = "abc"; 

тогда вы можете проверить, был ли изменен innerHTML. К сожалению, я не могу заверить вас, что все функции обнаружимы. Кроме того, операторы try ... catch могут быть очень полезны.

0 голосов
/ 01 ноября 2008

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

0 голосов
/ 31 октября 2008

Насколько я понимаю, это невозможно, но у вас может быть тест на удачу для более специфического состояния, такого как наличие конкретной технологии или технологий, которые вам нужны. Какие требования предъявляет ваш клиентский код к браузеру (ActiveX, Java, скрипты и т. Д.)? Знание этого будет очень хорошим началом для выяснения того, как протестировать клиентский браузер для среды, требуемой вашим клиентским кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...