OAuth2 e JavaScript no Magic xpi

Eis que você vai exibir uma página web no seu Studio Magic xpi  

através de uma interface OAuth2, e então: um popup de erro JavaScript aparece…

Quando necessitamos cadastrar um login (credenciais de acesso) através do OAuth2 em um projeto Magic xpi, seja ele para um recurso ou mesmo na configuração direta de algum componente, muito provavelmente uma instância do Internet Explorer será criada no momento da execução, para dar vida a um controle WebBrowser e controlar toda a navegação web.

É o padrão do MS-Windows para estas situações, e não é exclusividade do Magic xpi. Esse é o padrão para todo tipo de programa interativo deste SO.

E muitas vezes, especialmente acessando sites mais modernos que fazem uso dos novos recursos web disponíveis hoje em dia, uma mensagem deste tipo pode ser apresentada:

 

Uma, ou várias, telas de popup de erros JavaScript  ficam aparecendo e a página não é exibida corretamente.

Ocorre que, independente da versão do IE que você possua na máquina no momento, ele (IE) pode ter sido instanciado numa versão inferior para compatibilidade. Versão esta que não oferece suporte a estes novos recursos e padrões web mais modernos.

Por exemplo: seu IE pode ser o 11 mas no momento da criação do controle WebBrowser o MS-Windows pode ter decidido criá-lo em compatibilidade com a versão 8. E a versão 8 não consegue exibir a contento o site que você precisa. Mas conseguiria se ele estivesse na versão 11 quando executando dentro do seu Magic xpi Studio.

Para contornar estas situações, a MicroSoft criou configurações especiais no registro do MS-Windows para o IE.

São elas:

HKLM\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
HKCU\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

Você escolhe aquela que mais lhe convier, baseado no escopo da alteração (para todos ou só para o usuário atual) e na versão do Magic xpi Studio (32 ou 64 bits).

A configuração consiste em criar uma entrada do tipo DWORD, onde a “chave” é o nome do programa executável, e o “valor” é a versão desejada para o IE instanciado como WebBrowser embutido.

Considerando que o executável do Magic xpi Studio é:

MgxpiStudio.exe

Esta seria a configuração para forçar a versão 11 (exemplo) do IE quando este fosse executado dentro do Studio do Magic xpi:

 

NOTA: Você pode aprender mais sobre o “FEATURE_BROWSER_EMULATION” neste endereço: https://blog.malwarebytes.com/101/2016/01/a-brief-guide-to-feature_browser_emulation/

Pronto. Da próxima vez que o Magic xpi  for iniciado e uma interface OAuth2 executada, não haverá mais erros por conta deste tipo de incompatibilidade:

 

NOTA: Por ser esta uma configuração em nível de SO, no registro do MS-Windows, precisa ser aplicada na máquina de cada usuário do Magic xpi Studio.

Manoel Frederico Silva – Gerente de Tecnologia e Evangelista MAGIC – Magic Brasil

Manoel Frederico Silva – Gerente de Tecnologia e Evangelista MAGIC – Magic Brasil

Para receber os artigos do Blog Magic Brasil em primeira mão no seu email, registre-se aqui

Novo Comentário