Veelgestelde vragen van webontwikkelaars

Inleiding

  1. Wat zit er allemaal in Google Chrome?
  2. Waar kan ik informatie vinden over andere browsers?

User-agent

  1. Wat is de tekenreeks voor de user-agent in Chrome?

Taalcodering

  1. Google Chrome geeft tekens niet correct weer
  2. Het opgeven van de codering met JavaScript (document.write) werkt niet
  3. Google Chrome geeft '%B1%C1%C3%E5' weer in plaats van twee Chinese tekens

Scripts en webtoepassingen

  1. Mijn ActiveX-besturingselement wordt niet geladen
  2. Mijn JavaScript wordt niet correct uitgevoerd

Weergave en browsergedrag

  1. Mijn site wordt in Google Chrome anders weergegeven dan in Internet Explorer
  2. Hoe kan ik mijn website testen in Google Chrome?
  3. Lettertypespecificaties in een externe stylesheet worden niet toegepast
  4. De pop-ups van mijn website worden niet weergegeven in Google Chrome
  5. In plaats van een slotpictogram wordt een uitroepteken in Google Chrome weergegeven voor mijn met SSL beveiligde website
  6. De database-API voor HTML5 wordt niet ondersteund in Google Chrome
  7. Hoe kan ik het uiterlijk en de functie van snelkoppelingen van Google Chrome aanpassen die naar mijn pagina verwijzen?
  8. Hoe kan mijn webpagina een nieuw tabblad openen in een afzonderlijk proces?
  9. Hoe kan ik mijn website afmelden voor de functie voor het automatisch laden van URL's van Chrome Instant?

Zoeken

  1. Er wordt een zoekresultatenpagina weergegeven na het opgeven van een intranetadres, in plaats van de intranetsite
  2. Hoe kan ik de zoekfunctie van mijn site opnemen in de zoekopties van Google Chrome?

Inleiding

1. Wat zit er allemaal in Google Chrome?

Google Chrome bevat allerlei functies die webmasters kunnen gebruiken om een betere ervaring te bieden aan eindgebruikers. Google Chrome wordt geleverd met Google Gears, waarmee webmasters API's kunnen gebruiken voor bijvoorbeeld offline opslag. Daarnaast kunt u met Google Chrome uw webtoepassing het uiterlijk geven van een vaste toepassing, omdat gebruikers Google Chrome in een modus kunnen openen met een minimalistische gebruikersinterface die alleen een titelbalk bevat.

Google Chrome maakt ook gebruik van een gloednieuwe JavaScript-engine (V8), die veel sneller is dan de bestaande JavaScript-verwerking. Dat betekent dat u complexere en meer indrukwekkende AJAX-toepassingen kunt maken met lagere vereisten voor snelheid en verwerking. Bovendien is Chrome gebaseerd op WebKit, zodat gebruikers van Google Chrome profiteren van CSS3-functies die worden toegevoegd aan WebKit.

2. Waar kan ik informatie vinden over andere browsers?

U kunt kiezen uit een aantal andere browsers. Op de onderstaande websites kunt u meer informatie vinden over de meest gebruikte browsers:

User-agent

3. Wat is de tekenreeks voor de user-agent in Chrome?

De user-agent-tekenreeks van Chrome is:

Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL) AppleWebKit/525.13 (KHTML, zoals Gecko) Chrome/0.X.Y.Z Safari/525.13.

Google Chrome gebruikt de rendering-engine WebKit, die ook wordt gebruikt door andere browsers zoals Safari van Apple. Webpagina's zouden er in Google Chrome hetzelfde uit moeten zien als in deze andere op WebKit gebaseerde browsers. U kunt zoeken naar webkit in user-agent-tekenreeksen om deze browsers te targeten, in plaats van op een specifieke browsernaam te zoeken (zoals Google Chrome of Safari).

Taalcodering

4. Google Chrome geeft tekens niet correct weer

Als u browsers wilt helpen uw inhoud correct weer te geven, moet u altijd boven aan de documentbron informatie opgeven over de inhouds- en tekencodering. Als u frames of iframes gebruikt, geeft u de codering ook boven aan de bron van deze frames op. Sommige browsers (zoals Google Chrome) herkennen coderingsverklaringen niet wanneer die pas verder in het document worden weergegeven (zoals na CSS of scripts in het -gedeelte van uw document).

Voorbeelden van een goede plaatsing van de coderingsverklaring:

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

Zorg er ook voor dat uw webserver geen conflicterende HTTP-headers verzendt. Headers die door de webserver worden verzonden, zorgen ervoor dat eventuele tekensetverklaringen op uw pagina worden genegeerd.

5. Het opgeven van de codering met JavaScript (document.write) werkt niet

Google Chrome leest geen coderingsgegevens die zijn opgegeven met 'document.write()'. Als u deze methode bijvoorbeeld gebruikt om codering in iframes op te geven, kunnen er vreemde tekens worden weergegeven wanneer het iframe wordt weergegeven. In plaats van:

frame1.js

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

...raden we het volgende aan:

frame1.html

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

6. Google Chrome geeft '%B1%C1%C3%E5' weer in plaats van twee Chinese tekens

Google Chrome codeert queryparameters in een URL met procenttekens. Zorg ervoor dat uw scripts van de server de met procenttekens gecodeerde tekens op de juiste manier decoderen voordat de gegevens worden verwerkt.

Scripts en webtoepassingen

7. Mijn ActiveX-besturingselement wordt niet geladen

U moet een NPAPI-versie van de invoegtoepassing opgeven.

ActiveX wordt alleen ondersteund door Internet Explorer (en browsers die zijn gebaseerd op Internet Explorer) in Windows. Google Chrome, Mozilla Firefox, Apple Safari en andere browsers ondersteunen ActiveX niet. Deze browsers maken in plaats daarvan gebruik van de Netscape Plugin Application Programming Interface (NPAPI).

8. Mijn JavaScript wordt niet correct uitgevoerd

U kunt JavaScript-fouten op een aantal manieren weergeven en oplossen in Google Chrome:

  • JavaScript-console: klik op het pictogram voor het menu 'Pagina' en selecteer 'Ontwikkelaar' > 'JavaScript-console'. Op deze pagina kunt u de fouten bekijken in de uitvoering van JavaScript en aanvullende JavaScript-opdrachten opgeven die moeten worden uitgevoerd.
  • Foutopsporing voor JavaScript: de foutopsporing, beschikbaar via het pictogram voor het menu 'Pagina' > 'Ontwikkelaar' > 'JavaScript-fouten opsporen', biedt een opdrachtvenster waarin u breakpoints kunt instellen, stappen kunt terugleiden en nog veel meer. Typ help in de opdrachtregel van de foutopsporing om te beginnen.

Weergave en browsergedrag

9. Mijn site wordt in Google Chrome anders weergegeven dan in Internet Explorer

Google Chrome gebruikt een andere rendering-engine dan Internet Explorer, waardoor webpagina's anders kunnen worden weergegeven. Apple Safari gebruikt dezelfde rendering-engine als Google Chrome (WebKit) en zou pagina's op dezelfde manier moeten weergeven.

10. Hoe kan ik mijn website testen in Google Chrome?

Er zijn verschillende hulpprogramma's beschikbaar waarmee u uw website kunt testen in Google Chrome:

  • Webcontrole
    Klik met de rechtermuisknop op een component op een webpagina om de webcontrole te starten. U kunt de elementen en bronnen bekijken die zijn gekoppeld aan het element waarop u heeft geklikt, inclusief een hiërarchische weergave van de DOM en een JavaScript-console.
  • Taakbeheer
    Selecteer het pictogram voor het menu 'Pagina' en kies vervolgens 'Ontwikkelaar' > 'Taakbeheer' (of druk op Shift+Esc). In Taakbeheer worden alle actieve processen in Google Chrome weergegeven, alsmede de bronnen die voor die processen worden gebruikt (geheugen, processor en netwerk).
  • JavaScript-foutopsporing
    Selecteer het pictogram voor het menu 'Pagina' en kies vervolgens 'Ontwikkelaar' > 'JavaScript-fouten opsporen'. Hiermee wordt een JavaScript-foutopsporingsprogramma met een opdrachtregel gestart dat aan bestaande processen kan worden gekoppeld.

11. Lettertypespecificaties in een externe stylesheet worden niet toegepast

Zorg ervoor dat uw externe stylesheets worden weergegeven met de juiste tekenset en het juiste inhoudstype. Ze moeten worden weergegeven als text/css of text/css;charset=X.

U kunt een tekenset voor een stylesheet beter niet opgeven in de HTTP-header. U kunt de verklaring beter als volgt helemaal aan het begin van uw CSS-stylesheets toevoegen (zonder voorafgaande tekens, inclusief spaties en regeleinden):

@charset "xxx"

Als u geen coderingsinformatie opgeeft, kan uw stylesheet mogelijk niet goed worden verwerkt.

Raadpleeg voor meer informatie over dit onderwerp de documentatie van het World Wide Web Consortium op http://www.w3.org/TR/CSS21/syndata.html#charset.

12. De pop-ups van mijn website worden niet weergegeven in Google Chrome

Google Chrome minimaliseert pop-ups standaard en geeft alleen de titelbalk van de pop-up weer in de rechterbenedenhoek van het browservenster. Gebruikers kunnen de inhoud van een pop-up weergeven door de titelbalk naar een beter zichtbare positie te slepen. Hiermee kunnen pop-ups worden geladen, zodat de functionaliteit van sites die hiervan afhankelijk zijn, niet wordt onderbroken. Het voorkomt bovendien dat ongewenste pop-ups de pagina aan het zicht onttrekken en gebruikers afleiden.

13. In plaats van een slotpictogram wordt een uitroepteken in Google Chrome weergegeven voor mijn met SSL beveiligde website

Dit duidt op een probleem met het gebruik van SSL op de pagina. Wanneer u in Google Chrome op het uitroepteken klikt, krijgt u meer informatie over het probleem te zien. Vaak worden problemen veroorzaakt door gemengde inhoud op uw pagina - uw hoofdpagina wordt bijvoorbeeld geleverd via HTTPS en wordt beveiligd met SSL, maar u heeft ook elementen aan de pagina toegevoegd (zoals afbeeldingen, scripts of CSS) die worden geleverd via HTTP. Alle inhoud moet worden geleverd via HTTPS voordat het slotpictogram wordt weergegeven.

14. De database-API voor HTML5 wordt niet ondersteund in Google Chrome

Het team van Google Chrome is van plan in een volgende versie de database-API voor HTML5 te ondersteunen, naast andere API's die WebKit ondersteunt, inclusief API's voor offline werken en werknemers.

15. Hoe kan ik het uiterlijk en de functie van snelkoppelingen van Google Chrome aanpassen die naar mijn pagina verwijzen?

Gebruikers van Google Chrome kunnen snelkoppelingen voor webpagina's maken door de optie 'Snelkoppelingen maken' te selecteren via het pictogram voor het menu 'Pagina'. Nieuwe snelkoppelingen krijgen standaard de titel en het pictogram van de pagina waarnaar de snelkoppeling verwijst.

U kunt de titel, beschrijving en URL aanpassen voor snelkoppelingen in Google Chrome die naar uw pagina verwijzen. Dit doet u door specifieke metatags toe te voegen aan het <head>-gedeelte van uw document.

Aan te passen element: Tag Voorbeeld
De titel van de snelkoppeling application-name <meta name="application-name" content="Gmail"/>
De beschrijving (wordt gebruikt wanneer er meer ruimte beschikbaar is, zoals in het deelvenster 'Voorkeuren') description <meta name="description" content="Googles benadering van e-mail"/>
De URL die wordt geopend wanneer op de snelkoppeling wordt geklikt application-url <meta name="application-url" content="http://www.gmail.com"/>
Het pictogram voor de snelkoppeling   <link rel="icon" href="gmail_32x32.png" sizes="32x32"/>
<link rel="icon" href="gmail_48x48.png" sizes="48x48"/>

Bijvoorbeeld:

<head>
    <meta name="application-name" content="Gmail"/>
    <meta name="description" content="Googles benadering van 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>

Deze tags komen vrijwel overeen met de Desktop-API van Gears. Raadpleeg de documentatie voor de Desktop-API van Gears voor meer informatie.

16. Hoe kan ik op een webpagina een nieuw tabblad openen in een afzonderlijk proces?

Google Chrome heeft een multiprocessing-structuur, wat inhoudt dat tabbladen onafhankelijk van elkaar en van het hoofdproces van de browser in verschillende processen kunnen worden uitgevoerd. Nieuwe tabbladen die vanuit een webpagina worden geopend, behoren meestal tot hetzelfde proces, zodat de oorspronkelijke pagina de nieuwe tabbladen kan openen via JavaScript.

Google Chrome zoekt echter naar aanwijzingen om nieuwe tabbladen te openen in een afzonderlijk proces als u op het nieuwe tabblad naar een andere website navigeert.

De eenvoudigste benadering is het gebruik van een link naar een andere website die een nieuw venster target zonder de verwijzingsinformatie door te geven. Google Chrome herkent dit als aanwijzing om de nieuwe pagina geïsoleerd te houden van de oorspronkelijke pagina en laadt de nieuwe pagina in een afzonderlijk proces. Bijvoorbeeld:

<a href="http://differentsite.com" target="_blank" rel="noreferrer">Openen in nieuw tabblad en nieuw proces</a>

Als u het nieuwe tabblad wilt openen in een nieuw proces en de verwijzingsinformatie wel wilt doorgeven, kunt u de volgende stappen in JavaScript gebruiken:

  • Open het nieuwe tabblad met about:blank als doel.
  • Stel de variabele opener van het geopende tabblad in op null, zodat deze geen toegang heeft tot de oorspronkelijke pagina.
  • Ga van about:blank naar een andere website dan de oorspronkelijke pagina.

Bijvoorbeeld:

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

Deze aanwijzingen werken alleen voor URL's die zich in een ander domein of protocol bevinden dan de pagina van waaruit de pop-up wordt weergegeven. Als de pagina van waaruit de pop-up wordt weergegeven, bijvoorbeeld http://www.example.com/ is:

  • is een ander domein bijvoorbeeld http://www.example.org of http://www.example2.com
  • is een ander protocol bijvoorbeeld https://www.example.com

17. Hoe kan ik mijn website afmelden voor de functie voor het automatisch laden van URL's van Chrome Instant?

Als een gebruiker van Google Chrome de functie Chrome Instant heeft ingeschakeld, worden de meeste webpagina's automatisch geladen zodra de URL in de adresbalk is getypt, voordat de gebruiker op Enter drukt.

Als u een websitebeheerder bent, kunt u voorkomen dat Google Chrome dit gedrag vertoont op uw website:

  • Wanneer Google Chrome het verzoek indient bij uw websiteserver, wordt de volgende header verzonden:
    X-Purpose: instant
  • U kunt deze header detecteren en een statuscode HTTP 403 ('Verboden') retourneren.
  • Wanneer Google Chrome deze statuscode ontvangt, wordt uw website toegevoegd aan een zwarte lijst die wordt onderhouden op de client. Deze zwarte lijst blijft van kracht gedurende de browsersessie van die gebruiker.

Zoeken

18. Er wordt een zoekresultatenpagina weergegeven na het opgeven van een intranetadres, in plaats van de intranetsite

Wanneer een gebruiker een woord opgeeft in de adresbalk, voert Google Chrome een zoekopdracht uit naar de term en worden de resultaten van de standaardzoekmachine van de gebruiker weergegeven. Op hetzelfde moment verzendt Google Chrome een HEAD-verzoek voor http://term om te controleren of dit een geldige website is. Als Google Chrome een HTTP/2xx-reactie ontvangt (zoals HTTP/200 OK), wordt de gebruiker gevraagd of hij liever de site wil bezoeken. Wanneer via de melding naar de site wordt doorgeklikt, wordt de website ingesteld als het standaarddoel voor die term voor toekomstige verzoeken.

Google Chrome geeft deze melding ook weer bij het ontvangen van:

  • een HTTP/401- of HTTP/407-reactie
  • een HTTP/3xx -omleiding die uitkomt op een pagina met een van de bovenstaande reacties

Controleer of uw webserver correct reageert op HEAD-verzoeken en niet alleen op GET-verzoeken voor een bepaalde pagina.

Als er bijvoorbeeld een site staat op http://project.intranet.example.com en een gebruiker binnen dat bedrijfsnetwerk het woord project opgeeft in de adresbalk:

  • Google Chrome retourneert zoekresultaten voor de term project.
  • Op hetzelfde moment controleert Google Chrome of http://project een geldige website is. Zo ja:
  • Er wordt een melding weergegeven waarin de gebruiker wordt gevraagd of hij http://project wil bezoeken.
  • Wanneer de gebruiker doorklikt naar http://project, stelt Google Chrome http://project in als het doel voor alle toekomstige instanties van project in de adresbalk.

Gebruikers kunnen de standaardzoekactie omzeilen door project/ of http://project op te geven, of het item project/ in de adresbalk te selecteren in plaats van Google doorzoeken op project.

19. Hoe kan ik de zoekfunctie van mijn site opnemen in de zoekopties van Google Chrome?

Door een beschrijvingsdocument voor OpenSearch (OpenSearch description document, OSDD) te bieden, kan Google Chrome uw site opnemen in de lijst met zoekmachines in de browser. Ga voor meer informatie over OpenSearch naar http://www.opensearch.org.