Pergunta

Existe algum método para determinar programaticamente as configurações de zona de segurança atuais para o Internet Explorer?

Eu gostaria de saber quando o meu site vai ter o controle XMLHttpRequest ActiveX bloqueado devido a política de segurança do IE, mas antes que o site realmente tenta criá-lo e, assim, faz com que a barra amarela para aparecer até o topo (dizendo "para ajudar proteger a sua segurança, o Internet Explorer restringiu este webpage da execução de scripts ou controles ActiveX que podem acessar seu computador ".)

Graças.

Foi útil?

Solução

Nota : Eu não posso excluir uma resposta aceita, mas você pode encontrar esta resposta útil .

resposta Original:

Não há nenhuma alça em JavaScript para detectar a zona de segurança que está sendo usado pelo IE.

A fim de fazer o que você precisa fazer, você pode verificar document.location e determinar a zona de segurança a partir daí.

Outras dicas

No IE7, você poderia usar o seguinte JavaScript para obter alguma idéia se o site é confiável ou não:

window.status = "test";
if (window.status == "test")
  alert("Trusted, or local intranet");
else
  alert("Not trusted, or internet");

Isto é baseado no fato de que no IE7 e em diante, os scripts podem não definir o texto da barra de status através do método window.status na Internet e zonas de restrição. Veja as de Lançamento para o Internet Explorer 7

A zona de segurança não importa, porque os usuários do Windows pode determinar-se quais protocolos são tratados pelo qual a zona. Por exemplo, I adicionou-se o todo http e toda a zona de https para a zona de sites de confiança (zona 2). Isto é feito através da tecla

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet     Settings\ZoneMap\ProtocolDefaults

Você pode verificar a document.protocol através de javascript, mas como é que isto vai ajudá-lo?

if (document.protocol == "HTTP (HyperText Transfer-Protokoll)")

Você assume a sua zona de internet, mas no meu computador é a zona confiável completo com suas próprias configurações de segurança individuais. Ele é uma droga que jscript não vai permitir que você obtenha os valores de configuração de segurança individuais para cada zona.

É possível executar ActiveX objetos sem que barra amarela estúpido, mas você precisa adicionar o com objetos guids para a lista de objetos COM seguros. Isto é feito através do registro. O padrão é inseguro para a maioria dos objetos, com exceção de alguns objetos bugigangas estúpidas como ActiveX do Flash, wmp ActiveX e outras coisas

Eu gostaria de saber quando o meu site vai ter o controle XMLHttpRequest ActiveX bloqueado devido a política de segurança IE

Você não pode mesmo se você sabia o que zona que estavam, desde que você não pode ler as configurações por zona, e, como de IE6SP2 há mais configurações que afetam ActiveX que não são configuráveis ??em um per- base de zona. (IE7 tem ainda mais configurações específicas do controle.)

Eu sei que não há maneira de especulativamente criar um XMLHttpRequest e evitando a barra amarela, curta de sempre apenas usando o nativo ‘new XMLHttpRequest ()’ objeto, que faz você IE6-incompatíveis.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top