FAQ para programadores da Web

Introdução

  1. O que está no interior do Google Chrome?
  2. Onde posso encontrar informações sobre outros navegadores?

User agent

  1. O que é a cadeia user agent do Google Chrome?

Codificação de linguagem

  1. O Google Chrome não está a apresentar os caracteres correctamente
  2. Declarar a codificação utilizando o JavaScript (document.write) não funciona
  3. O Google Chrome está a apresentar "%B1%C1%C3%E5" em vez de dois caracteres chineses

Scripts e aplicações Web

  1. O meu controlo ActiveX não está a carregar
  2. O meu JavaScript não está a executar correctamente

Composição e comportamento do navegador

  1. O meu site tem uma composição diferente no Google Chrome relativamente à composição no Internet Explorer
  2. Como posso testar o meu Web site no Google Chrome?
  3. Especificações de tipo de letra numa folha de estilos externa não entram em vigor
  4. Os pop-ups do meu Web site não estão a aparecer no Google Chrome
  5. O meu Web site protegido por SSL está a apresentar um ponto de exclamação no Google Chrome, em vez de um cadeado
  6. A API da base de dados HTML5 não é suportada no Google Chrome
  7. Como posso personalizar o aspecto e o funcionamento dos atalhos do Google Chrome que apontam para a minha página?
  8. De que forma a minha página Web pode abrir num novo separador num processo distinto?
  9. Como posso excluir o meu Web site do carregamento de URLs do Chrome Instantâneo?

Pesquisar

  1. Introduzir o endereço de Web site de uma intranet origina uma página de resultados da pesquisa, em vez do site da intranet
  2. Como posso incluir a pesquisa do meu site nas opções de pesquisa do Google Chrome?

Introdução

1. O que está no interior do Google Chrome?

O Google Chrome contém várias funcionalidades que podem ser utilizadas pelos webmasters no sentido de fornecerem uma melhor experiência de utilizador final. O Google Chrome é fornecido com o Gears incorporado, o que permite aos webmasters beneficiarem de APIs, tais como o armazenamento off-line. Além disso, o Google Chrome permite à sua aplicação Web ter o aspecto e funcionamento semelhantes ao de uma aplicação do "ambiente de trabalho", uma vez que os utilizadores podem iniciar o Google Chrome num modo com uma IU minimalista, apresentando apenas uma barra de título.

O Google Chrome utiliza também um motor JavaScript (V8) totalmente novo, mais rápido do que os interpretadores JavaScript existentes. Isto significa que pode criar aplicações AJAX mais complexas e intensivas com menores restrições em termos de velocidade e de processamento. Finalmente, o Google Chrome foi criado com base no WebKit, pelo que os utilizadores do Google Chrome vão beneficiar das funcionalidades CSS3 adicionadas ao WebKit à medida que essas funcionalidades forem lançadas.

2. Onde posso encontrar informações sobre outros navegadores?

Existem vários outros navegadores a partir dos quais pode escolher. Obtenha informações sobre alguns dos navegadores mais utilizados nos Web sites abaixo listados:

User agent

3. O que é a cadeia user agent do Google Chrome?

A cadeia user agent do Google Chrome é:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, como o Gecko) Chrome/0.X.Y.Z Safari/525.13.

O Google Chrome utiliza o motor de composição WebKit, partilhado por outros navegadores tal como o Safari da Apple. As páginas Web devem ter o mesmo aspecto no Google Chrome tal como têm nestes outros navegadores baseados no WebKit. Pode procurar webkit em cadeias user agent para obter estes navegadores, em vez de um nome de navegador específico (tal como o Google Chrome ou Safari).

Codificação de linguagem

4. O Google Chrome não está a apresentar os caracteres correctamente

Para ajudar os navegadores a compor correctamente o respectivo conteúdo, deverá fornecer sempre informações de codificação de conteúdo e de caracteres na parte superior do código do documento. Se estiver a utilizar molduras ou iframes, especifique também a codificação na parte superior do código dessas molduras. Alguns navegadores (incluindo o Google Chrome) não reconhecem declarações de codificação apresentadas ao longo de um documento (tal como depois do CSS ou script na secção inicial do seu documento).

Exemplo de colocação correcta da codificação:

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <script type="text/javascript">
    ... código JavaScript ...
    </script>
    .......

Certifique-se também de que o seu servidor Web não está a enviar cabeçalhos HTTP que entrem em conflito. Os cabeçalhos enviados pelo servidor Web vão substituir quaisquer declarações de conjuntos de caracteres na sua página.

5. Declarar a codificação utilizando o JavaScript (document.write) não funciona

O Google Chrome não lê informações de codificação declaradas com document.write(). Se estiver a utilizar este método para declarar a codificação em iframes, por exemplo, poderá ver caracteres distorcidos quando o iframe for composto. Em vez de:

frame1.js

document.write("<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">");
    ... outro código JavaScript ...

...recomendamos o seguinte:

frame1.html

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <script type="text/javascript">
    ... código JavaScript ...
    </script>
    ...

6. O Google Chrome está a apresentar "%B1%C1%C3%E5" em vez de dois caracteres chineses

O Google Chrome codifica por percentagem parâmetros de consulta num URL. Certifique-se de que os scripts do lado do servidor estão a descodificar correctamente caracteres codificados por percentagem antes de processar os dados.

Scripts e aplicações Web

7. O meu controlo ActiveX não está a carregar

Deverá especificar uma versão NPAPI do plug-in.

O ActiveX é apenas suportado pelo Internet Explorer (e pelos navegadores baseados no Internet Explorer) no Windows. O Google Chrome, Mozilla Firefox, Apple Safari e outros não suportam ActiveX. Em vez disso, estes navegadores utilizam a Netscape Plugin Application Programming Interface (NPAPI).

8. O meu JavaScript não está a executar correctamente

Existem algumas formas de visualizar erros de JavaScript e de os depurar no Google Chrome:

  • Consola de JavaScript: clique no ícone de menu Página e seleccione Programador > Consola de JavaScript. A partir daqui, poderá visualizar os erros na execução de JavaScript e introduzir comandos de JavaScript adicionais para execução.
  • Depurador de JavaScript: disponível como ícone de menu Página > Programador > Depurar JavaScript, o depurador fornece uma linha de comandos a partir da qual pode definir pontos de interrupção, rastreios regressivos e muito mais. Escreva help na linha de comandos do depurador para começar.

Composição e comportamento do navegador

9. O meu site tem uma composição diferente no Google Chrome relativamente à composição no Internet Explorer

O Google Chrome utiliza um motor de composição diferente do Internet Explorer, pelo que poderá apresentar páginas Web de forma diferente. O Apple Safari utiliza o mesmo motor de composição que o Google Chrome (WebKit), pelo que deverá apresentar as páginas da mesma forma.

  • Se o seu site não estiver a efectuar correctamente a composição em qualquer navegador, certifique-se de que HTML e CSS são válidos ao testá-los em http://validator.w3.org/.
  • Se o seu site não efectuar correctamente a composição no Google Chrome ou no Apple Safari, reporte um erro em webkit.org, tal como descrito em http://webkit.org/quality/reporting.html.
  • Se o seu site efectuar correctamente a composição no Apple Safari, mas não no Google Chrome, reporte um erro sobre o Google Chrome em http://code.google.com/p/chromium/issues/list.

10. Como posso testar o meu Web site no Google Chrome?

Existem várias ferramentas para o ajudar a testar o seu Web site no Google Chrome:

  • Web Inspector
    Clique com o botão direito do rato em qualquer componente numa página Web para iniciar o Web Inspector. Poderá ver os elementos e os recursos associados ao componente no qual clicou, incluindo uma vista de hierarquia da consola JavaScript e DOM.
  • Gestor de tarefas
    Seleccione o ícone de menu Página, em seguida Programador > Gestor de tarefas (ou prima Shift+Esc). O Gestor de tarefas mostra todos os processos em execução no Google Chrome e os recursos que esses processos estão a utilizar (memória, CPU e rede).
  • Depurador de JavaScript
    Seleccione o ícone de menu Página, em seguida Programador > Depurar JavaScript. Isto inicia um depurador de JavaScript que pode ser utilizado para anexar a processos existentes.

11. Especificações de tipo de letra numa folha de estilos externa não entram em vigor

Certifique-se de que as folhas de estilos externas estão a ser servidas com o tipo de conteúdo e conjunto de caracteres correcto. Devem ser servidas como text/css ou text/css;charset=X.

É recomendável não especificar um conjunto de caracteres para uma folha de estilos no cabeçalho de HTTP; em vez disso, adicione a declaração mesmo no início (sem caracteres precedentes, incluindo espaços e quebras de linha) da folha de estilos CSS da seguinte forma:

@charset "xxx"

Não especificar informações de codificação pode impedir que a sua folha de estilos seja correctamente analisada.

Para obter mais informações sobre este tópico, visite a documentação do WWWC (World Wide Web Consortium) em http://www.w3.org/TR/CSS21/syndata.html#charset.

12. Os pop-ups do meu Web site não estão a aparecer no Google Chrome

O comportamento predefinido do Google Chrome consiste em minimizar e, em seguida, apresentar apenas a barra de título dos pop-ups na secção inferior direita da janela do navegador. Os utilizadores podem ver o conteúdo de um pop-up ao arrastar a respectiva barra de título para uma posição mais visível. Isto permite que os pop-ups sejam carregados, de modo a não quebrar a funcionalidade de sites que dependam dos mesmos. Também impede pop-ups não pretendidos de cobrirem a página e distraírem os utilizadores.

13. O meu Web site protegido por SSL está a apresentar um ponto de exclamação no Google Chrome, em vez de um cadeado

Isto indica um problema com a utilização de SSL na página. Se clicar no ponto de exclamação no Google Chrome poderá obter mais detalhes sobre o problema. Frequentemente, os problemas devem-se a conteúdo misto na página, por exemplo, a página Web de nível superior está a ser servida através de HTTPS e é protegida por SSL, mas também incluiu elementos na página (tais como imagens, scripts ou CSS) por HTTP. Todo o conteúdo tem de ser servido através de HTTPS para que o cadeado seja apresentado.

14. A API da base de dados HTML5 não é suportada no Google Chrome

A equipa do Google Chrome planeia suportar a API da base de dados HTML5, bem como as outras APIs suportadas pelo WebKit, incluindo off-line e trabalhadores, numa futura edição.

15. Como posso personalizar o aspecto e o funcionamento dos atalhos do Google Chrome que apontam para a minha página?

Os utilizadores do Google Chrome podem criar atalhos para qualquer página Web ao seleccionar Criar atalhos da aplicação a partir do ícone de menu Página. Por predefinição, os novos atalhos assumem o título e favicon da página para a qual o atalho está a apontar.

Pode especificar o título, descrição e URL dos atalhos do Google Chrome que apontam para a sua página ao inserir meta tags específicos na secção <head> do seu documento.

Para personalizar: Etiqueta Exemplo
O título de atalho application-name <meta name="application-name" content="Gmail"/>
A descrição (utilizada quando existe mais espaço disponível, tal como no painel de preferências) description <meta name="description" content="A visão do Google em relação ao e-mail"/>
O URL a abrir quando se clica no atalho application-url <meta name="application-url" content="http://www.gmail.com"/>
O ícone de atalho   <link rel="icon" href="gmail_32x32.png" sizes="32x32"/>
<link rel="icon" href="gmail_48x48.png" sizes="48x48"/>

Por exemplo:

<head>
    <meta name="application-name" content="Gmail"/>
    <meta name="description" content="A visão do Google em relação ao e-mail"/>
    <meta name="application-url" content="http://www.gmail.com"/>
    <link rel="icon" href=gmail_32x32.png sizes="32x32"/>
    <link rel="icon" href=gmail_48x48.png sizes="48x48"/>
    </head>

Estas etiquetas correspondem de forma próxima às etiquetas da API do Gears Desktop. Consulte a documentação sobre a API do Gears Desktop para obter mais detalhes.

16. De que forma a minha página Web pode abrir num novo separador num processo distinto?

O Google Chrome dispõe de uma arquitectura com múltiplos processos, o que significa que os separadores podem ser executados em processos distintos uns dos outros e a partir do processo principal do navegador. No entanto, os novos separadores originados a partir de uma página Web são normalmente abertos no mesmo processo, para que a página original possa aceder ao novo separador utilizando JavaScript.

No entanto, o Google Chrome procurará sugestões para abrir novos separadores num processo separado, se estiver a navegar o novo separador para um Web site diferente.

A abordagem mais fácil é utilizar um link para um Web site diferente que apresente uma nova janela sem transmitir informações de referência. O Google Chrome reconhece isto como uma sugestão para manter a nova página isolada da página original e carregará a nova página num processo separado. Por exemplo:

<a href="http://differentsite.com" target="_blank" rel="noreferrer">Abrir num novo separador e novo processo</a>

Se pretender que o novo separador seja aberto num novo processo enquanto são transmitidas informações de referência, pode utilizar os seguintes passos no JavaScript:

  • Abra o novo separador com about:blank como respectivo destino.
  • Defina a variável opener do separador recentemente aberto como null, para que não possa aceder à página original.
  • Redireccione a partir de about:blank para um Web site diferente da página original.

Por exemplo:

var w = window.open();
w.opener = null;
w.document.location = "http://sitediferente.com/index.html";

Estas sugestões só funcionarão para URLs que estejam num domínio ou protocolo diferente do da página que originou o pop-up. Por exemplo, se a página que originou o pop-up estiver em http://www.example.com/:

  • um domínio diferente seria http://www.example.org ou http://www.example2.com
  • um protocolo diferente seria https://www.example.com

17. Como posso excluir o meu Web site do carregamento de URLs do Chrome Instantâneo?

Se um utilizador do Google Chrome tiver activado a funcionalidade "Chrome Instantâneo", a maioria das páginas Web serão carregadas imediatamente após escrever o URL na barra de endereço, antes do utilizador pressionar a tecla Enter.

Se for um administrador de Web sites, pode impedir este comportamento do Google Chrome no seu Web site:

  • Quando o Google Chrome faz o pedido ao servidor do seu Web site, enviará o cabeçalho seguinte:
    X-Purpose: instant
  • Detecta-o e devolverá um código de estado HTTP 403 ("Proibido").
  • Quando o Google Chrome receber este código de estado, adicionará o seu Web site a uma lista de negra mantida no cliente. Esta lista negra estará activa durante a sessão de navegação do utilizador.

Pesquisar

18. Introduzir o endereço de Web site de uma intranet origina uma página de resultados da pesquisa, em vez do Web site da intranet

Quando um utilizador introduz uma única palavra na barra de endereço, o Google Chrome executa uma pesquisa pelo termo e devolve resultados utilizando o motor de pesquisa predefinido do utilizador. Ao mesmo tempo, o Google Chrome emite um pedido HEAD de http://term, para verificar se se trata de um Web site válido. Se o Google Chrome receber uma resposta HTTP/2xx (tal como HTTP/200 OK), será perguntado ao utilizador se pretende visitar antes o site. Se clicar para aceder ao site a partir do pedido, vai definir o Web site como o destino predefinido para esse termo em pedidos futuros.

O Google Chrome vai também apresentar o pedido se receber:

  • uma resposta HTTP/401 ou HTTP/407
  • um redireccionamento HTTP/3xx que termine numa página com qualquer uma das respostas acima

Deverá certificar-se de que o servidor Web responde correctamente a pedidos HEAD e não apenas a pedidos GET para uma página.

Por exemplo, se um site existir em http://projecto.intranet.example.com e um utilizador nessa rede empresarial introduzir projecto na barra de endereço:

  • o Google Chrome vai devolver resultados da pesquisa para o termo projecto
  • Ao mesmo tempo, o Google Chrome vai verificar se http://projecto é um Web site válido. Se for,
  • Será apresentado um pedido ao utilizador perguntando se pretende visitar http://projecto
  • Quando o utilizador clicar para aceder a http://projecto, o Google Chrome define http://projecto como o destino para todas as futuras instâncias de projecto na barra de endereço

Os utilizadores podem substituir o comportamento (pesquisa) predefinido ao introduzir projecto/ ou http://projecto, ou seleccionando a entrada da barra de endereço que indica projecto/ em vez de Pesquisar projecto.

19. Como posso incluir a pesquisa do meu Web site nas opções de pesquisa do Google Chrome?

Ao fornecer um documento de descrição OpenSearch (OSDD), permite ao Google Chrome incluir o seu site na lista de motores de pesquisa no navegador. Para mais informações sobre o OpenSearch, visite http://www.opensearch.org.