Domande frequenti (FAQ) per sviluppatori

Introduzione

  1. Che cosa c'è in Google Chrome?
  2. Dove posso trovare informazioni su altri browser?

User-agent

  1. Qual è la stringa dell'user-agent di Google Chrome?

Codifica della lingua

  1. Google Chrome non visualizza i caratteri correttamente
  2. La dichiarazione di codifica utilizzando l'istruzione JavaScript (document.write) non funziona
  3. Google Chrome visualizza "%B1%C1%C3%E5" anziché caratteri cinesi

Script e applicazioni web

  1. Il mio controllo ActiveX non viene caricato
  2. JavaScript non viene eseguito correttamente

Rendering e comportamento del browser

  1. In Google Chrome il mio sito ha un rendering diverso da Internet Explorer
  2. Come faccio a testare il mio sito in Google Chrome?
  3. Le specifiche dei caratteri in un foglio di stile esterno non hanno effetto
  4. I popup del mio sito non vengono visualizzati in Google Chrome
  5. Il mio sito web utilizza la protezione SSL. Google Chrome visualizza un punto esclamativo anziché un lucchetto
  6. L'API per database HTML5 non è supportata in Google Chrome
  7. Come faccio a personalizzare l'aspetto e il funzionamento delle scorciatoie Google Chrome che rimandano alla mia pagina?
  8. Come faccio ad aprire una nuova scheda in una sessione separata dalla pagina web corrente?
  9. Come posso escludere il mio sito web dal caricamento URL in Chrome Instant?

Ricerca

  1. Se inserisco l'indirizzo di un sito web intranet, viene visualizzata una pagina di risultati di ricerca anziché il sito intranet stesso
  2. Come faccio a includere la ricerca del mio sito nelle opzioni di ricerca di Google Chrome?

Introduzione

1. Che cosa c'è in Google Chrome?

Google Chrome include molte funzioni che possono essere sfruttate dai webmaster per migliorare la fruizione da parte dell'utente finale. Google Chrome viene fornito insieme a Google Gears, un'applicazione che consente ai webmaster di sfruttare API come l'archiviazione offline. Inoltre, Google Chrome consente alla tua applicazione web di avere un aspetto del tutto simile a un'applicazione "desktop": gli utenti possono infatti avviare Google Chrome in una modalità con interfaccia utente ridotta al minimo che comprende solamente la barra del titolo.

Google Chrome utilizza inoltre un nuovissimo motore JavaScript (V8), molto più veloce degli interpreti JavaScript esistenti. Ciò consente di creare applicazioni AJAX molto più complesse e intensive con meno vincoli di velocità e di elaborazione. Infine, Google Chrome è basato sul motore di rendering WebKit. Gli utenti potranno così avvalersi delle funzioni CSS3 aggiunte a WebKit non appena queste saranno disponibili.

2. Dove posso trovare informazioni su altri browser?

È possibile scegliere tra una serie di altri browser. Scopri alcuni dei browser più utilizzati sui siti web elencati di seguito:

User-agent

3. Qual è la stringa dell'user-agent di Google Chrome?

La stringa dell'user-agent di Google Chrome è:

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

Google Chrome utilizza il motore di rendering WebKit, lo stesso utilizzato da altri browser come Apple Safari. Le pagine web dovrebbero essere visualizzate in Google Chrome come in altri browser basati su WebKit. Puoi cercare il tag webkit nelle stringhe dell'user-agent per fare riferimento a questi tipi di browser, anziché il nome di uno specifico browser (ad esempio Google Chrome o Safari).

Codifica della lingua

4. Google Chrome non visualizza i caratteri correttamente

Per aiutare i browser a visualizzare correttamente i tuoi contenuti, è consigliabile specificare sempre la codifica dei contenuti e dei caratteri nella parte iniziale del codice sorgente delle tue pagine. Se utilizzi frame o iframe, specifica la codifica anche all'inizio del codice sorgente dei frame. Alcuni browser (tra cui Google Chrome) non riconoscono dichiarazioni di codifica inserite lontano dall'inizio del codice sorgente (ad esempio dopo CSS o script nella sezione "head").

Esempio di buon posizionamento della codifica:

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

Assicurati anche che il tuo server web non stia inviando intestazioni HTTP in conflitto. Le intestazioni inviate dal server web ignoreranno qualsiasi dichiarazione di set di caratteri contenuta nella tua pagina.

5. La dichiarazione di codifica utilizzando l'istruzione JavaScript (document.write) non funziona

Google Chrome non è in grado di interpretare informazioni sulla codifica dichiarate con document.write(). Se utilizzi questo metodo per dichiarare la codifica in iframe, ad esempio, potresti visualizzare caratteri incomprensibili quando l'iframe viene visualizzato nel browser. Anziché:

frame1.js

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

... consigliamo di utilizzare:

frame1.html

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

6. Google Chrome visualizza "%B1%C1%C3%E5" anziché caratteri cinesi

Google Chrome codifica i parametri delle query all'interno di un URL con segni percentuali. Assicurati che i tuoi script lato server decodifichino correttamente i caratteri con codifica percentuale prima di elaborare i dati.

Script e applicazioni web

7. Il mio controllo ActiveX non viene caricato

Devi specificare una versione NPAPI del plug-in.

ActiveX è supportato solamente da Internet Explorer (e dai browser basati su Internet Explorer) su Windows. Google Chrome, Mozilla Firefox, Apple Safari e altri browser non supportano ActiveX. Questi browser supportano invece NPAPI (Netscape Plugin Application Programming Interface).

8. JavaScript non viene eseguito correttamente

Esistono un paio di metodi per visualizzare gli errori JavaScript ed eseguire il relativo debug in Google Chrome:

  • Console JavaScript. Fai clic sull'icona del menu Pagina, quindi seleziona Opzioni per sviluppatori > Console JavaScript. Qui è possibile visualizzare gli errori nell'esecuzione di JavaScript e inserire altri comandi JavaScript da eseguire.
  • Debugger JavaScript. Fai clic sull'icona del menu Pagina, quindi seleziona Opzioni per sviluppatori > Avvia debugger JavaScript. Il debugger include un prompt dei comandi dal quale è possibile impostare punti di interruzione, backtrace e altro ancora. Digita help nella riga di comando del debugger per iniziare.

Rendering e comportamento del browser

9. In Google Chrome il mio sito ha un rendering diverso da Internet Explorer

Google Chrome utilizza un motore di rendering diverso rispetto a Internet Explorer. Per questo motivo, le pagine web possono essere visualizzate in modo diverso. Apple Safari utilizza lo stesso motore di rendering di Google Chrome (WebKit), pertanto le pagine dovrebbero essere visualizzate allo stesso modo.

  • Se il tuo sito non viene visualizzato correttamente in alcun browser, assicurati che il tuo codice HTML e CSS non contenga errori eseguendo un test sul sito http://validator.w3.org/.
  • Se il tuo sito non viene visualizzato correttamente in Google Chrome o Apple Safari, invia una segnalazione di bug a webkit.org come descritto alla pagina http://webkit.org/quality/reporting.html.
  • Se il tuo sito viene visualizzato correttamente in Apple Safari, ma non in Google Chrome, invia una segnalazione di bug specifica per Google Chrome alla pagina http://code.google.com/p/chromium/issues/list.

10. Come faccio a testare il mio sito in Google Chrome?

Esistono diversi strumenti per testare il tuo sito web in Google Chrome:

  • Ispeziona elemento
    Fai clic con il pulsante destro del mouse su qualsiasi componente di una pagina web, quindi seleziona "Ispeziona elemento". Verranno visualizzati gli elementi e le risorse associati al componente su cui hai fatto clic, tra cui una visualizzazione ad albero del DOM e una console JavaScript.
  • Task Manager
    Fai clic sull'icona del menu Pagina, quindi seleziona Opzioni per sviluppatori > Task Manager (oppure premi Maiusc+Esc). Task Manager visualizzerà tutti i processi in esecuzione di Google Chrome e la quantità di risorse che stanno utilizzando (memoria, CPU e rete).
  • Debugger JavaScript
    Fai clic sull'icona del menu Pagina, quindi seleziona Opzioni per sviluppatori > Avvia debugger JavaScript. Verrà aperto il debugger di JavaScript, che permette di intervenire sui processi esistenti.

11. Le specifiche dei caratteri in un foglio di stile esterno non hanno effetto

Assicurati che il set di caratteri (charset) e il tipo di contenuto (content-type) dei tuoi fogli di stile esterni siano specificati correttamente utilizzando il codice text/css o text/css;charset=X.

Si consiglia di non specificare il set di caratteri di un foglio di stile nell'intestazione HTTP; piuttosto, aggiungi la dichiarazione all'inizio (senza caratteri iniziali, inclusi spazi e interruzioni di riga) del foglio di stile CSS nel seguente modo:

@charset "xxx"

Se non dichiari la codifica, il foglio di stile potrebbe non essere interpretato correttamente dal browser.

Per ulteriori informazioni su questo argomento, consulta la documentazione del World Wide Web Consortium (W3C) alla pagina http://www.w3.org/TR/CSS21/syndata.html#charset.

12. I popup del mio sito non vengono visualizzati in Google Chrome

Per impostazione predefinita Google Chrome riduce a icona e, quindi, visualizza solo la barra del titolo dei popup nella sezione in basso a destra della finestra del browser. Gli utenti possono visualizzare i contenuti dei popup trascinando la barra del titolo in una posizione più visibile. In tal modo, è possibile caricare popup senza interrompere la funzionalità di siti che dipendono da essi. Allo stesso tempo, ciò consente di evitare la presenza di popup indesiderati che occupano interamente la pagina distraendo gli utenti.

13. Il mio sito web utilizza la protezione SSL. Google Chrome visualizza un punto esclamativo anziché un lucchetto

Il punto esclamativo indica la presenza di un problema nell'utilizzo dell'SSL all'interno della pagina. Se fai clic sul punto esclamativo in Google Chrome vengono visualizzati ulteriori dettagli sul problema. Molto spesso gli errori derivano dalla contemporanea presenza di elementi disomogenei all'interno della pagina: ad esempio, nel livello principale della pagina web hai utilizzato il protocollo HTTPS e la protezione SSL, tuttavia nella pagina hai incluso anche elementi (come immagini, script o CSS) che utilizzano il protocollo HTTP. Affinché venga visualizzata l'icona del lucchetto, è necessario che tutti i contenuti utilizzino il protocollo HTTPS.

14. L'API per database HTML5 non è supportata in Google Chrome

Il team di Google Chrome supporterà l'API per database HTML5, oltre alle altre API supportate da WebKit, tra cui le API Offline e Workers, in una futura versione del browser.

15. Come faccio a personalizzare l'aspetto e il funzionamento delle scorciatoie Google Chrome che rimandano alla mia pagina?

Gli utenti di Google Chrome possono creare scorciatoie a qualsiasi pagina web selezionando Crea scorciatoie applicazione dall'icona del menu Pagina. Per impostazione predefinita, le nuove scorciatoie acquisiscono il titolo e l'icona preferita della pagina a cui rimandano.

Puoi specificare il titolo, la descrizione e l'URL delle scorciatoie di Google Chrome che rimandano alla tua pagina inserendo specifici metatag nella sezione <head> del documento.

Parte da personalizzare: Tag Esempio
Il titolo della scorciatoia application-name <meta name="application-name" content="Gmail"/>
La descrizione (da utilizzare quando è disponibile spazio sufficiente, ad esempio nel riquadro delle preferenze) description <meta name="description" content="Il nuovo modo di concepire la posta elettronica realizzato da Google"/>
L'URL da aprire quando si fa clic sulla scorciatoia application-url <meta name="application-url" content="http://www.gmail.com"/>
L'icona della scorciatoia   <link rel="icon" href="gmail_32x32.png" sizes="32x32"/>
<link rel="icon" href="gmail_48x48.png" sizes="48x48"/>

Ad esempio:

<head>
    <meta name="application-name" content="Gmail"/>
    <meta name="description" content="Il nuovo modo di concepire la posta elettronica realizzato da Google"/>
    <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>

Questi tag sono molto simili a quelli dell'API Desktop di Google Gears. Per ulteriori dettagli consulta la documentazione dell'API Desktop di Google Gears.

16. Come faccio ad aprire una nuova scheda in una sessione separata dalla pagina web corrente?

Google Chrome possiede un'architettura multiprocesso. Ciò significa che ogni scheda viene eseguita in un processo distinto e separato dalle altre schede, così come dal processo principale del browser. Le nuove schede create da una pagina web, tuttavia, vengono aperte generalmente nello stesso processo, in modo che la pagina di origine sia in grado di accedere alla nuova scheda tramite JavaScript.

Se però sposti la nuova scheda in un altro sito web, Google Chrome cercherà delle istruzioni per aprire le nuove schede in un processo separato.

L'approccio più semplice consiste nell'utilizzare un link a un altro sito web che indirizza a una nuova finestra senza trasmettere informazioni sul referrer. Google Chrome riconosce che si tratta di un'istruzione per tenere la nuova pagina separata dalla pagina originale, quindi carica la nuova pagina in un processo separato. Ad esempio:

<a href="http://sitodiverso.com" target="_blank" rel="noreferrer">Apri in nuova scheda e nuovo processo</a>.

Per aprire la nuova scheda in un nuovo processo trasmettendo comunque le informazioni sul referrer, procedi nel seguente modo in JavaScript:

  • Apri la nuova scheda utilizzando about:blank come destinazione.
  • Imposta la variabile opener della scheda appena aperta su null in modo che non possa accedere alla pagina di origine.
  • Reindirizza la pagina da about:blank verso un sito web diverso dalla pagina originale.

Ad esempio:

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

Queste istruzioni funzionano soltanto per gli URL con dominio o protocollo diverso da quello della pagina che crea il popup. Ad esempio, se la pagina che crea il popup è http://www.example.com/:

  • un dominio diverso potrebbe essere http://www.example.org o http://www.example2.com
  • un protocollo diverso potrebbe essere https://www.example.com

17. Come posso escludere il mio sito web dal caricamento URL in Chrome Instant?

Se un utente di Google Chrome ha attivato la funzione "Chrome Instant" la maggior parte delle pagine web viene caricata non appena l'URL viene digitato nella barra degli indirizzi, prima che l'utente prema Invio.

Se sei l'amministratore di un sito web puoi evitare che Google Chrome agisca in questo modo con il tuo sito web:

  • Quando Google Chrome effettua la richiesta al server del tuo sito web, viene inviata la seguente intestazione:
    X-Purpose: instant
  • L'intestazione viene rilevata e viene restituito un codice di stato HTTP 403 ("Forbidden").
  • Quando Google Chrome riceve questo codice di stato, il tuo sito web viene aggiunto a una blacklist gestita sul client. La blacklist ha una durata pari alla sessione di navigazione di quell'utente.

Ricerca

18. Se inserisco l'indirizzo di un sito web intranet, viene visualizzata una pagina di risultati di ricerca anziché il sito intranet stesso

Quando un utente inserisce una singola parola nella barra degli indirizzi, Google Chrome esegue una ricerca per quel termine e restituisce i risultati utilizzando il motore di ricerca predefinito. Allo stesso tempo, Google Chrome emette una richiesta HEAD per http://termine per verificare che il sito web sia valido. Se Google Chrome riceve una risposta HTTP/2xx (ad esempio HTTP/200 OK), verrà richiesto all'utente se desidera invece visitare il sito. Se si fa clic per aprire il sito nel messaggio di richiesta, il sito web viene impostato come destinazione predefinita di quel termine per tutte le future richieste.

Google Chrome visualizza un messaggio di richiesta anche quando riceve:

  • una risposta HTTP/401 o HTTP/407
  • un reindirizzamento HTTP/3xx che si conclude in una pagina con una delle risposte indicate qui sopra

Assicurati che il tuo server web risponda correttamente alle richieste HEAD e non solamente alle richieste GET di una pagina.

Ad esempio, se esiste un sito all'indirizzo http://progetto.intranet.esempio.it e un utente appartenente a questa rete aziendale digita progetto nella barra degli indirizzi:

  • Google Chrome restituirà i risultati di ricerca relativi al termine progetto.
  • Allo stesso tempo, Google Chrome verificherà che http://progetto sia un sito web valido. In tal caso,
  • verrà visualizzato un messaggio di richiesta che chiede all'utente se desidera visitare il sito http://progetto.
  • Una volta che l'utente ha fatto clic su http://progetto, Google Chrome imposta http://progetto come destinazione per tutte le future istanze di progetto nella barra degli indirizzi.

Per ignorare il comportamento predefinito (di ricerca) del browser, gli utenti possono digitare progetto/ o http://progetto oppure selezionare la voce della barra degli indirizzi chiamata progetto/ anziché Cerca progetto.

19. Come faccio a includere la ricerca del mio sito nelle opzioni di ricerca di Google Chrome?

Se fornisci un documento OSDD (OpenSearch Description Document), Google Chrome includerà il tuo sito nell'elenco dei motori di ricerca del browser. Per ulteriori informazioni su OpenSearch, consulta la pagina http://www.opensearch.org.