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?

Zoeken

  1. Er wordt een zoekresultatenpagina weergegeven na het opgeven van een intranetadres, in plaats van de intranetsite
  2. He 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 meestgebruikte 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 <head>-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="Google's visie op 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="Google's visie op 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 mijn 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.

Ga als volgt te werk als u een nieuw tabblad in een nieuw proces wilt openen:

  • Open het nieuwe tabblad met about:blank als doel.
  • Stel de variabele opener van het nieuwe tabblad in op null, zodat deze de oorspronkelijke pagina niet kan openen.
  • Maak een omleiding van about:blank naar een willekeurige URL op een ander domein, andere poort of ander protocol dan dat van de pagina van waaruit de pop-up wordt geopend. 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
    • is een andere poort bijvoorbeeld http://www.example.com:8080
    • is een ander protocol bijvoorbeeld https://www.example.com

Google Chrome herkent deze acties als een hint dat de nieuwe en oude pagina's gescheiden moeten worden gehouden en zal proberen elke pagina in een afzonderlijk proces te laden.

Het volgende codefragment kan worden gebruikt om al deze stappen uit te voeren:

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

Zoeken

17. 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 standaard zoekactie 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.

18. 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.