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 usa 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?

Ricerca

  1. Se tento di accedere a un sito web intranet, visualizzo 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 ottimizzate 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 permette che la tua applicazione web abbia un aspetto del tutto simile a un'applicazione "desktop": gli utenti possono infatti lanciare 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. Nell'elenco seguente sono riportati alcuni dei browser più utilizzati insieme ai siti web da cui possono essere scaricati:

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 motori di ricerca 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 frate o iframe, specifica la codifica anche all'inizio della sezione corrispondente di questi ultimi nel codice sorgente. 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 non stia inviando intestazioni HTTP in conflitto. Le intestazioni inviate attraverso il 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 stiano decodificando 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 contengano errori eseguendo un test alla pagina 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 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 il contenuto 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 usa la protezione SSL. Google Chrome visualizza un punto esclamativo anziché un lucchetto

Il punto esclamativo indica la presenza di un problema nell'uso dell'SSL all'interno della pagina. Facendo clic sul punto esclamativo in Google Chrome, verranno 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 il favicon della pagina quale alla quale rimandano.

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

Parte da personalizzare: Tag Esempio
Il titolo della scorciatoia application-name <meta name="nome-applicazione" content="Gmail"/>
La descrizione (da utilizzare quando è disponibile spazio sufficiente, ad esempio nel riquadro delle preferenze) description <meta name="descrizione" 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="url-application" 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="nome-applicazione" content="Gmail"/>
      <meta name="descrizione" content="Il nuovo modo di concepire la posta elettronica realizzato da Google"/>
      <meta name="url-application" 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 generate a partire 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.

Per aprire una nuova scheda in una sessione separata, procedi nel seguente modo:

  • 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 qualsiasi altro URL con dominio, porta o protocollo diverso da quello della pagina da cui è stata aperta la nuova scheda. Ad esempio, se la pagina dalla quale viene generata la nuova scheda è http://www.esempio.it/:
    • un dominio diverso potrebbe essere http://www.esempio.org
    • una porta diversa potrebbe essere http://www.esempio.it:8080
    • un protocollo diverso potrebbe essere https://www.esempio.it

Google Chrome riconoscerà queste azioni come un'indicazione della volontà dell'utente di isolare la pagina di origine dalla nuova pagina e tenterà di caricare la nuova pagina in un processo distinto.

Per eseguire tutti questi passaggi, è possibile utilizzare uno snippet di codice:

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

Ricerca

17. Se tento di accedere a un sito web intranet, visualizzo 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. Facendo clic per aprire il sito dal prompt, il sito web verrà impostato come destinazione predefinita di quel termine per tutte le future richieste.

Google Chrome visualizza un prompt anche quando riceve:

  • una risposta HTTP/401 o HTTP/407
  • un reindirizzamento HTTP/3xx che si concluda 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 prompt chiedendo all'utente se desidera visitare il sito http://progetto
  • una volta che l'utente ha fatto clic su http://progetto, Google Chrome imposterà 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.

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

Specificando un 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.