IE8 se recusa a executar o Javascript a partir do disco rígido local

4

Eu tenho um problema que acabou de começar no trabalho recentemente e o gerente de rede está certo de que ele não mudou nada com a política de grupo. De qualquer forma, aqui está uma descrição detalhada do problema.

Minha máquina é o Windows XP SP3 e uso o IE8 para navegar. Temos o software antivírus da McAffee que não consigo configurar. Eu uso o seguinte arquivo para testar ...

<!DOCTYPE html>
<html>
  <head>
    <title>Javascript Test</title>
  </head>
  <body>
    <script type="text/javascript">
      document.write("<h1>PASS</h1>");
    </script>
    <noscript>
      <h1>FAIL</h1>
    </noscript>
  </body>
</html>

Quando eu abro este arquivo da unidade C: ele falha todas as vezes . Se eu executá-lo em qualquer outro lugar (servidor web local / remoto ou em uma unidade de rede mapeada), ele funciona muito bem. Quando estou simplesmente navegando na Internet, o Javascript em sites funciona bem. É apenas que falha nos arquivos em execução a partir da minha unidade C :. Além disso, alguns outros programadores do departamento experimentaram esse arquivo em sua unidade C: e ele funciona bem para eles. Então eu não acredito que seja uma política de grupo.

Eu preciso consertar isso porque faço testes extensivos em minha unidade C: e estou acostumado a fazer isso. Eu não quero adquirir o hábito de mover arquivos para uma unidade diferente apenas para testar.

Coisas que tentei:

  • Ativado "Permitir que o conteúdo ativo execute arquivos no meu computador" em Opções | Avançado | Segurança
  • Ativado "Permitir scripts ativos" em Opções | Segurança | Nível Personalizado
  • Verificado que "Script" não foi marcado como desativado na Barra de ferramentas do desenvolvedor
  • Adicionou localhost a sites confiáveis em opções
  • Desative o McAffee completamente (momentaneamente, com a ajuda do administrador da rede)
  • Usou um DOCTYPE mais antigo na minha página HTML de teste
  • Re-instalado o IE8 completamente
  • Ran regsvr32 no JScript.dll
  • Teclado batido

Tenho certeza de que existe uma configuração em algum lugar que corrigirá esse problema, possivelmente no registro. Eu não ficaria surpreso se fosse relacionado à barra de ferramentas do desenvolvedor. Neste ponto, não sei mais para onde procurar.

Alguém pode me ajudar a resolver esse problema?

EDITAR: Independentemente da recompensa, esse problema ainda está em andamento.

    
por Josh Stodola 30.12.2009 / 15:48

12 respostas

4

Abrir chave de registro

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\n

Em que n é o índice da zona, em que 0 significa My Computer . Esta zona não está disponível em Opções da Internet. Defina o valor 1400 para 0 para ativar o Javascript.

    
por 30.01.2012 / 14:55
4

Você já tentou adicionar uma "Marca da Web" no seu código HTML?

Basta adicionar algo como:

<!DOCTYPE html>
<!-- saved from url=(0021)http://www.google.com -->
<html>

Uma marca da Web é depois da tag DOCTYPE, sozinha em uma linha separada, antes de <html> .

Veja a documentação da MSDN em Marca da Web para ajuda completa.

    
por 11.01.2010 / 19:26
1

Se o computador estiver sujeito a políticas de segurança corporativa, você pode considerar a configuração de uma máquina virtual (por exemplo, com Caixa virtual ou MS Virtual PC ) para testar seus scripts java.

A Microsoft oferece uma variedade de discos rígidos virtuais pré-ativados (eles trabalham com o VirtualBox e o VPC) com o Vista ou o XP e o IE6, 7 e 8. As Imagens de Compatibilidade de Aplicativos do Internet Explorer VPC são gratuitas e o conjunto atual é válido até 1 de abril , 2010.

    
por 05.01.2010 / 16:03
1

Eu conheço outras pessoas que tiveram esse problema, então eu investiguei sobre isso.

Depois de muito esforço para replicar o erro, encontrei o culpado.

leia isto: link e link

Parece que algo (um vírus ou alguma atualização de software) bagunça as zonas da Internet.

Para corrigir o problema, eu exportei todo o registro e, com um editor (ultraedit), procurei por "\ Internet Settings \ Zones \" fundando uma chave como "{IDENTIDADE DE USUÁRIO-Ex-decimal} ... \ Configurações de Internet \ Zonas \ L", onde L é um personagem estranho que aparece como um sobrescrito L, Ao excluir essa chave, o javascript será reiniciado.

    
por 23.02.2011 / 21:02
0

Aqui estão dois pensamentos que podem ajudar:

Renomeie para test.hta - isto irá lançá-lo como um aplicativo HTML em vez de simplesmente HTML. Pode ser necessário adicionar < HTA: APPLICATION > com alguns atributos dentro do elemento HEAD - mas deve funcionar como um campeão. Você pode ler mais sobre o HTA aqui: link

Você pode usar um servidor da Web local para, talvez, resolver problemas do sistema de arquivos? Se você instalasse o Visual Web Developer Express, ele viria com um servidor da Web que você pode usar para testes, ou você poderia sempre instalar o IIS (se for o WinXP Pro), o Apache, etc.

    
por 06.01.2010 / 17:59
0

Tentando editar as configurações do DCOM

Vá para Executar e digite dcomcnfg, em serviços de componentes, clique com o botão direito do mouse em meu computador e vá para propriedades. Em seguida, vá para Propriedades padrão e Ativar serviços de Internet COM neste computador. também verifique e certifique-se de que o Nível de Autenticação Padrão esteja configurado para conectar e o nível de Representação esteja definido para Identificar.

    
por 06.01.2010 / 18:37
0

Se você acessar o botão Opções da Internet / Guia Segurança / Internet / Personalizar e, em seguida, rolar para baixo até a seção Diversos, você encontrará várias entradas que controlam o mecanismo JavaScript no IE8.

Você pode compará-los em seu computador com estes em um computador no qual isso funciona.

Se com isso você não encontrar o problema, você também pode fazer o mesmo com o gpedit.msc / Diretiva do computador local / Configuração do Computador / Modelos Administrativos / Componentes do Windows / Internet Explorer.
Você pode clicar aqui com o botão direito do mouse em "Internet Explorer" e exportar todas as configurações para um arquivo de texto, o que ajudará a compará-las entre os dois computadores.

    
por 08.01.2010 / 18:56
0

Eu suspeito que isso não vai ajudar, mas você verificou a chave de registro para permitir a execução de scripts locais?

HKCU \ Software \ Microsoft \ Internet Explorer \ Principal \ FeatureControl \ FEATURE_LOCALMACHINE_LOCKDOWN

No painel direito, crie um novo REG_DWORD chamado iexplore.exe e defina-o como 0

Valores:

0 - Allows a Web page to run active content in your computer
1 - Disallows a Web page from running active content in your computer

Este documento contém algumas outras chaves de registro relacionadas que você pode querer ver:

link

    
por 08.01.2010 / 20:22
0

Não sei se você pode adicionar uma unidade local à zona de sites confiáveis.

Você precisa verificar as restrições na zona e definir o nível personalizado e ativar todas as opções relacionadas a Scripting e ActiveX , pois mesmo no nível mais baixo (das configurações predefinidas) ainda há restrições que se aplicam.

Eu tive um problema semelhante com o IE6 e pude corrigi-lo removendo todas as restrições da zona padrão (Internet). Se, de alguma forma, você conseguiu adicionar o arquivo a sites confiáveis, também é necessário definir a zona como "nível personalizado".

Acho que é essa configuração que você precisa ativar com certeza:

Inicialize e faça script de controles ActiveX não marcados como seguros para script. - Afeta "marcado como não seguro" e "não marcado"

    
por 08.01.2010 / 22:21
0

Você pode tentar verificar a instalação do IE8 usando a ferramenta da Microsoft localizada em: Como resolver a Internet Problemas de instalação do Explorer 8 .

Este artigo contém um botão Fix It que faz a solução de problemas gerais para o IE8.

cito:

Problems with installing Internet Explorer 8 can be caused by different issues. That's why there are several troubleshooting methods that you can use to try to resolve your problem.

To fix this problem automatically, click the Fix this problem link. Then click Run in the File Download dialog box, and follow the steps in this wizard.

Mesmo que isso corrija imediatamente seu problema, você deve reiniciar e verificar novamente. Se o problema tiver retornado, isso provavelmente é um problema de GPO.

Além disso, encontrei um segmento interessante que pode ser aplicado: Após a atualização do IE8 - Aviso de Segurança de Arquivo Aberto para todas as execuções locais .

cito:

After taking a lot of time with the registry, the internet, and some alcohol (just kidding), I think I found the source of the problem. :) I am pretty sure that it is the source of it, since I can reproduce my problem by toggling the value of a certain registry key back and forth. Curious? :) OK, here we go:

The following registry key has been identified to cause the problem: [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones%bl0ck_qu0te%]

According to KB182569 (http://support.microsoft.com/kb/182569) this key is responsible for: "Miscellaneous: Launching applications and unsafe files."

The same article also specifies: "Note Unless stated otherwise, each DWORD value is equal to zero, one, or three. Typically, a setting of zero sets a specific action as permitted, a setting of one causes a prompt to appear, and a setting of three prohibits the specific action."

I found that if I set "1806" dword value to "0" and then use the task manager to kill the "explorer" task and start it again, the problem had disappeared. If I changed the value back to "1" and killed/started the explorer again, then the problem was back.

Now I started to search my system for applied GPO's and found one that was setting this value to "1" which means prompt the user. It is set within a GPO under the [User Configuration/Administrative Templates/Windows Components/Internet Explorer/Internet Control Panel/Security Page/Lock-Down Local Machine Zone/Lauching programs and unsafe files] section.

Like I said, this is the source of my problem and I now know how to fix it. But what is strange to me is that the same GPO applies to IE7 machines and the problem does not surface there. According to description of the GPO, this feature was supported since IE7:

Launching programs and unsafe filesSetting Path:

User Configuration/Administrative Templates/Windows Components/Internet Explorer/Internet Control Panel/Security Page/Locked-Down Local Machine ZoneSupported On: At least Internet Explorer 7.0ExplanationThis policy setting controls whether or not the "Open File - Security Warning" prompt is shown when launching executables or other unsafe files.

For instance, if the user launches an executable from an Intranet file share using Windows Explorer, this setting controls whether or not a prompt is shown before the file is opened.

If you enable this policy setting and the dropdown box is set to Enable, files will open without a security prompt. If the dropdown box is set to Prompt, a security prompt will be shown before opening the files.

If you disable this policy setting, files will not be opened.

If you do not configure this policy setting, users can configure the prompt behavior. By default, execution is blocked in the Restricted Zone, enabled in the Intranet and Local Computer zone, and set to prompt in the Internet and Trusted zones.

So based on the description of the feature and what I have been experiencing, I have come to the conclusion that IE7 was handling this feature incorrectly and IE8 does finally handle it correctly. This would explain why the update to IE8 caused the feature to appear.

    
por 12.01.2010 / 08:35
0

A única maneira de contornar isso é ir para Internet Ooptions e colocar localhost dentro das zonas confiáveis, no entanto, eu realmente não recomendo isso, pois pode levar a muitos problemas.

Recomendamos que você instale o Apache , Wamp Server (contendo o Apache em um pacote fácil de usar) ou IIS / Web Platform Installer (contendo o IIS em um pacote fácil de usar).

Em seguida, dependendo de como você configurá-lo, você deve conseguir acessar o site por meio do link ou configurar entradas DNS adicionais para intranet ou similar. Se você tiver vários computadores que precisam acessar esse script, ele também tornará a atualização e tudo mais muito mais simples.

Editar -

Dê uma olhada nessa configuração em Opções da Internet -

    
por 05.01.2010 / 15:49
-1
  1. Inicie o Internet Explorer.
  2. No menu Ferramentas, clique em Opções da Internet.
  3. Na guia Avançado, clique em Redefinir.
  4. Na caixa de diálogo Redefinir configurações do Internet Explorer, clique em Redefinir para confirmar.
por 02.02.2011 / 14:44