Renderização de HTML5 em navegadores mais antigos com o Frame do Google Chrome

Introdução

O HTML5 adiciona uma infinidade de novas e incríveis ferramentas à caixa de ferramentas para desenvolvedores da Web, incluindo:

  • APIs JavaScript novas e mais eficientes
  • SVG para gráficos vetoriais
  • Canvas para 2D e com gráficos 3D do WebGL
  • CSS3 para cantos arredondados, gradientes etc.
  • Marcação mais expressiva

Essa lista não é abrangente. A plataforma da Web evoluiu imensamente, e a distância entre os navegadores antigos e os modernos aumenta a cada dia.
Todos os principais navegadores para computador agora são compatíveis com partes significativas do HTML5 na versão mais recente, mas os navegadores mais antigos dificultam a adoção dos melhores e mais recentes recursos.

O Google Chrome Frame pode ajudar você a criar páginas HTML5 de última geração hoje mesmo e ainda permitir que usuários que usam navegadores mais antigos visualizem seu conteúdo.

O que é o Frame do Google Chrome

O Frame do Google Chrome é um plug-in para o Internet Explorer que permite a renderização da tela completa do navegador usando o mecanismo de renderização do Google Chrome. Ele é compatível com todos os recursos HTML5 que você encontra no Chrome, perfeitamente integrados à experiência do usuário do Internet Explorer. O Frame do Google Chrome está disponível para o Internet Explorer 6, 7, 8 e 9. O Chrome Frame é certamente mais útil quando se tem suporte a navegadores antigos, como o IE6-IE8, mas se você, por exemplo, precisa de WebGL para seu aplicativo, a exigência do Chrome Frame para usuários do IE9 também pode ser útil.

Os polyfills HTML5 oferecem outra maneira de facilitar a transição para navegadores mais recentes. Infelizmente, eles não podem emular todos os recursos, e sua página fica mais lenta em navegadores antigos, que já são mais lentos do que a nova geração, e muito mais.

Mesmo que seu site não precise de recursos HTML5, o uso do Chrome Frame pode proporcionar uma melhor experiência do usuário. Para usuários que já têm o app instalado, a renderização geralmente é mais rápida e eles podem acessar recursos que não são compatíveis com navegadores mais antigos. Obviamente, você ainda pode optar por oferecer suporte a navegadores antigos para usuários que não tenham o Chrome Frame na máquina.

Ativação

É possível permitir que o Google Chrome Frame renderize uma página adicionando uma metatag HTML ou usando um cabeçalho HTTP. Isso é muito importante. Isso significa que nenhum site será corrompido se o usuário tiver o Chrome Frame instalado, porque o site tem controle total do uso do plug-in ou da renderização padrão. Os snippets de código a seguir mostram como um site pode ativar a renderização pelo Chrome Frame.

Opção 1: cabeçalho HTTP (você pode adicioná-lo à configuração do servidor HTTP (por exemplo, Apache)):

X-UA-Compatible: chrome=1

Opção 2: metatag (basta colar na seção <head> HTML)

<meta http-equiv="X-UA-Compatible" content="chrome=1">

Depois que você adicionar um deles ao site, as páginas serão renderizadas usando o Chrome Frame se ele estiver instalado na máquina do usuário.

Solicitação do Frame do Google Chrome

Você pode decidir suspender totalmente o suporte a navegadores antigos por vários motivos, incluindo:

  • Seu site requer recursos modernos, como vídeo em HTML5, canvas, WebGL ou CSS3
  • O tempo de desenvolvimento gasto em navegadores antigos é muito alto
  • Acelere o tempo de desenvolvimento de novos recursos

O Chrome Frame pode fornecer uma estratégia para continuar oferecendo aos usuários de navegadores antigos uma maneira de continuar usando o site.

O Chrome Frame transmite que ele está disponível estendendo o cabeçalho user agent do host com a string "chromeframe". Para mais informações, consulte User agent do Chrome Frame.

Use a detecção do lado do servidor para procurar esse token e determinar se o Chrome Frame pode ser usado em uma página. Se o Chrome Frame estiver presente, você pode inserir a metatag necessária. Caso contrário, é possível redirecionar os usuários para uma página que explica como instalar o Chrome Frame. Como alternativa à detecção do lado do servidor, você pode usar o script CFInstall.js para detectar o Chrome Frame e solicitar que os usuários instalem o plug-in sem reiniciar o navegador. O uso do script é simples. Basta adicionar as tags de script e os estilos opcionais à página, como no exemplo a seguir:

<html>
<body>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>

<style>
/*
CSS rules to use for styling the overlay:
    .chromeFrameOverlayContent
    .chromeFrameOverlayContent iframe
    .chromeFrameOverlayCloseBar
    .chromeFrameOverlayUnderlay
*/
</style>

<script>
// You may want to place these lines inside an onload handler
CFInstall.check({
mode: "overlay",
destination: "http://www.waikiki.com"
});
</script>
</body>
</html>

Solicitar

Você também pode criar uma página de destino ou uma camada. Encaminhar usuários para este URL

http://www.google.com/chromeframe/

que pode ser colocado em um IFRAME.

Anexe um parâmetro de redirecionamento para enviar os usuários de volta ao seu site após a conclusão da instalação:

http://www.google.com/chromeframe/?redirect=http://www.google.com/ Em vez de acessar a página de destino do Chrome Frame, você também pode enviar os usuários diretamente para o EULA, economizando uma etapa no processo de instalação. http://www.google.com/chromeframe/eula.html

Não são necessários direitos de administrador

Os usuários podem instalar o Chrome Frame sem ter privilégios administrativos nos computadores.

Anexe o parâmetro user=true para ativar a instalação do Chrome Frame no nível do usuário, da seguinte maneira:

http://www.google.com/chromeframe/?user=true

Instalação empresarial

As empresas podem implantar o Chrome Frame em toda a empresa usando o instalador MSI, que pode ser transferido por download aqui: http://www.google.com/chromeframe/eula.html?msi=true.

Para mais informações sobre o Chrome e as implantações empresariais, consulte http://www.chromium.org/administrators.

Adoção

Muitos dos principais sites, como yahoo.com, wordpress.com e várias propriedades do Google adotaram o Google Chrome Frame. Além de oferecer aos usuários uma experiência da Web mais moderna para muitos sites, o Chrome Frame também apresenta uma melhoria significativa no tempo de carregamento inicial. Para verificar se o Chrome Frame ajuda a acelerar a renderização, acesse webpagetest.org e selecione o Chrome Frame como navegador.

Mais

Para mais informações, consulte o Guia para iniciantes ou assista a este vídeo do Google IO 2011