Vanliga frågor från webbutvecklare

Inledning

  1. Hur ser Google Chrome ut på insidan?
  2. Var kan jag hitta information om andra webbläsare?

Användaragent

  1. Vad är Google Chromes användaragentsträng?

Språkkodning

  1. Tecken visas fel i Google Chrome
  2. Det fungerar inte att deklarera teckenkodningen med JavaScript (document.write)
  3. Strängen '%B1%C1%C3%E5' visas i stället för två kinesiska tecken i Google Chrome

Skript och webbprogram

  1. Min ActiveX-kontroll laddas inte
  2. Mitt JavaScript körs inte som det borde

Rendering och webbläsarens beteende

  1. Min webbplats ser annorlunda ut i Google Chrome än i Internet Explorer
  2. Hur testar jag min webbplats i Google Chrome?
  3. Teckensnittsspecifikationer i en extern formatmall har ingen effekt
  4. Popup-fönstren på min webbplats visas inte i Google Chrome
  5. Min webbplats skyddas av SSL och ett utropstecken i stället för ett lås visas för den i Google Chrome
  6. Programmeringsgränssnittet för HTML5-databaser stöds inte i Google Chrome
  7. Hur anpassar jag utseendet på och funktionen hos genvägar i Google Chrome som pekar till min sida?
  8. Hur kan jag öppna en ny flik i en separat process från en webbsida?
  9. Hur kan jag välja att min webbplats inte ska ingå i Google Instants inläsning av webbadresser?

Sök

  1. Om jag går in på en sida i ett intranät visas en sökresultatsida i stället för sidan i intranätet
  2. Hur kan jag få med min webbplats sökmöjligheter i sökalternativen i Google Chrome?

Inledning

1. Hur ser Google Chrome ut på insidan?

Google Chrome har många funktioner som webbansvariga kan utnyttja för att förbättra produkten för användaren. Gears är inbyggt i Google Chrome, och därför kan webbansvariga dra nytta av programmeringsgränssnitt såsom offlinelagring. Dessutom kan ett webbprogram se mer ut som ett normalt program i Google Chrome, eftersom användarna kan starta Google Chrome i ett läge med ett väldigt sparsamt gränssnitt, där det inte finns något annat än en namnlist.

Dessutom används en helt ny JavaScript-motor (V8) i Google Chrome, och den är mycket snabbare än andra JavaScript-tolkar. Det innebär att du kan utveckla mer komplicerade och beräkningsintensiva AJAX-program med färre begränsningar vad gäller snabbhet och datorberäkningar. Slutligen bygger Google Chrome på WebKit, så användare av Google Chrome kan ha glädje av de CSS3-funktioner som läggs till i WebKit så fort de lanseras.

2. Var kan jag hitta information om andra webbläsare?

Det finns många andra webbläsare du kan välja. Läs om några av de vanligaste webbläsarna på webbplatserna som listas här nedanför:

Användaragent

3. Vad är Google Chromes användaragentsträng?

Google Chromes användaragentsträng är:

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

Renderingsmotorn WebKit används i Google Chrome, liksom i andra webbläsare såsom Apples Safari. Webbsidor bör se likadana ut i Google Chrome som i dessa andra webbläsare som också baseras på WebKit. Titta efter webkit i användaragentsträngen om du vill söka efter dessa webbläsare i stället för ett visst namn på en webbläsare (t.ex. Google Chrome eller Safari).

Språkkodning

4. Tecken visas fel i Google Chrome

För att hjälpa webbläsaren att återge innehållet korrekt bör du alltid ta med information om innehållet och teckenkodningen i början av dokumentets källkod. Om du använder ramar eller iframe-taggar ska du ange kodningen även i början av dessa ramars källkod. Vissa webbläsare (däribland Google Chrome) känner inte igen kodningsdeklarationer långt ned i dokumentet (t.ex. efter CSS-kod eller skript i head-avsnittet i dokumentet).

Exempel på en bra placering av kodningen:

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

Se även till att webbservern inte skickar HTTP-huvuden som står i konflikt med kodningen. Huvuden som skickas av webbservern åsidosätter teckenkodsdeklarationen på sidan.

5. Det fungerar inte att deklarera teckenkodningen med JavaScript (document.write)

Google Chrome läser inte kodningsinformation som deklareras med document.write(). Om du använder denna metod för att deklarera kodningen i iframe-taggar, till exempel, kan tecknen se konstiga ut när ramen återges. I stället för:

frame1.js

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

... rekommenderar vi:

frame1.html

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

6. %B1%C1%C3%E5 visas i stället för två kinesiska tecken i Google Chrome

Google Chrome kodar frågeparametrar i webbadresser med procenttecken. Kontrollera att skripten på servern avkodar tecken som har kodats med procenttecken innan några data bearbetas.

Skript och webbprogram

7. Min ActiveX-kontroll laddas inte

Du bör använda en NPAPI-version av plugin-programmet.

ActiveX stöds bara av Internet Explorer (och webbläsare som bygger på Internet Explorer) i Windows. Google Chrome, Mozilla Firefox, Apple Safari och andra stödjer inte ActiveX. Dessa webbläsare använder i stället NPAPI (Netscape Plugin Application Programming Interface).

8. Mitt JavaScript körs inte som det borde

Det finns några olika sätt att visa JavaScript-fel och att felsöka dem i Google Chrome:

  • JavaScript-konsolen: klicka på menyikonen Sida och välj Utvecklare > JavaScript-konsol. Här ser du fel som har uppstått vid körningen av JavaScriptet och kan ange ytterligare JavaScript-kommandon som du vill köra.
  • Felsökning för JavaScript: tillgängligt via menyikonen Sida > Utvecklare > Felsökning för JavaScript. Felsökningsfunktionen är en kommandotolk där du kan ställa in brytpunkter, spåra bakåt i koden och göra mycket mer. Skriv help i felsökningsfunktionen om du vill komma igång.

Rendering och webbläsarens beteende

9. Min webbplats ser annorlunda ut i Google Chrome än i Internet Explorer

Google Chrome använder en annan renderingsmotor än Internet Explorer, så sidorna kan se annorlunda ut. Apple Safari använder samma renderingsmotor som Google Chrome (WebKit) och sidorna bör se ut på samma sätt.

  • Om din webbplats inte ser ut som den ska i någon webbläsare bör du kontrollera att HTML- och CSS-koden är giltig genom att testa den på adressen http://validator.w3.org/.
  • Om webbplatsen inte ser ut som den ska i Google Chrome eller Apple Safari kan du rapportera ett fel på adressen webkit.org enligt beskrivningen på sidan http://webkit.org/quality/reporting.html.
  • Om webbplatsen ser ut som den ska i Apple Safari men inte i Google Chrome kan du rapportera ett fel i Google Chrome på adressen http://code.google.com/p/chromium/issues/list.

10. Hur testar jag min webbplats i Google Chrome?

Det finns flera verktyg du kan använda för att testa din webbplats i Google Chrome:

  • Webbinspektör
    Högerklicka på någon komponent på en webbsida och starta webbinspektören. Du ser de element och resurser som är knutna till komponenten som du klickade på, bland annat en hierarkisk vy av dokumentobjektmodellen och JavaScript-konsolen.
  • Aktivitetshanteraren
    Välj menyikonen Sida, sedan Utvecklare > Aktivitetshanteraren (eller tryck på Skift+Esc). I Aktivitetshanteraren visas alla processer som körs i Google Chrome samt vilka resurser de använder (minne, processor och nätverk).
  • Felsökning för JavaScript
    Välj menyikonen Sida, sedan Utvecklare > Felsökning för JavaScript. Då startas en felsökningsfunktion för JavaScript som kan användas för att ansluta till befintliga processer.

11. Teckensnittsspecifikationer i en extern formatmall har ingen effekt

Kontrollera att alla externa formatmallar skickas med rätt teckenuppsättning och innehållstyp. De ska skickas som text/css eller text/css;charset=X.

Det är bättre att inte ange en teckenuppsättning för en formatmall i HTTP-huvudet. Lägg i stället till deklarationen högst upp (inga föregående tecken, vare sig blanksteg eller radmatningar) i CSS-formatmallen:

@charset "xxx"

Om du inte anger kodningsinformation kanske formatmallen inte tolkas korrekt.

Läs mer om det här ämnet i World Wide Web Consortiums dokumentation på adressen http://www.w3.org/TR/CSS21/syndata.html#charset.

12. Popup-fönstren på min webbplats visas inte i Google Chrome

Standardbeteendet hos Google Chromes är att minimera och sedan visa enbart namnlisten i popup-fönster längst ned till höger i webbläsarens fönster. Användarna kan titta på popup-fönstret genom att dra namnlisten till en mer synlig plats. Detta innebär att popup-fönstren laddas så att funktionen på de webbplatser som är avhängiga av dem inte förstörs. Det förhindrar även att oönskade popup-fönster täcker hela sidan och distraherar användaren.

13. Ett utropstecken, i stället för ett lås, visas för min webbplats som skyddas av SSL i Google Chrome

Detta visar att det är något problem med hur SSL används på sidan. Klicka på utropstecknet i Google Chrome så visas mer information om problemet. I många fall beror problemet på att innehållet på sidan är blandat. Det kan till exempel vara så att sidan på den högsta nivån skickas via HTTPS och skyddas med SSL, men att du även har tagit med andra element på sidan (t.ex. bilder, skript eller CSS-kod) via HTTP. Allt material måste skickas via HTTPS om låset ska visas.

14. Programmeringsgränssnittet för HTML5-databaser stöds inte i Google Chrome

Teamet bakom Google Chrome har planer på att stödja programmeringsgränssnittet för HTML5-databaser, liksom de andra programmeringsgränssnitten som WebKit stöder, däribland offlinelagring och arbetstrådar, i en framtida version.

15. Hur anpassar jag utseendet och funktionen för genvägar i Google Chrome som pekar till min sida?

Användare av Google Chrome kan skapa en genväg till en valfri webbsida genom att välja Skapa programgenvägar via menyikonen Sida. Standardinställningen är att nya genvägar skapas med rubriken och favoritikonen på sidan till vilken genvägen pekar.

Du kan ange rubriken, beskrivningen och webbadressen för genvägar i Google Chrome som pekar till din sida genom att ange särskilda metataggar i <head>-avsnittet i dokumentet.

Om du vill anpassa: Tagg Exempel
Genvägens rubrik application-name <meta name="application-name" content="Gmail"/>
Beskrivningen (som används om mer utrymme är tillgängligt, till exempel på inställningspanelen) description <meta name="description" content="Googles e-postmodell"/>
Webbadressen som öppnas då genvägen används application-url <meta name="application-url" content="http://www.gmail.com"/>
Genvägens ikon   <link rel="icon" href="gmail_32x32.png" sizes="32x32"/>
<link rel="icon" href="gmail_48x48.png" sizes="48x48"/>

Exempel:

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

Dessa taggar är mycket lika dem som används i Gears Desktop API. Läs dokumentationen till Gears Desktop API om du vill veta mer.

16. Hur kan jag öppna en ny flik i en separat process från en webbsida?

Google Chrome utnyttjar flera processer samtidigt, vilket innebär att flikar kan köras i egna processer, skilda från varandra och från webbläsarens huvudprocess. Nya flikar som öppnas från en webbsida brukar emellertid öppnas i samma process, så att den ursprungliga sidan kan komma åt den nya fliken från JavaScript.

Google Chrome söker dock efter möjligheter att öppna nya flikar i en separat process om du navigerar den nya fliken till en annan webbplats.

Det lättaste sättet är att använda en länk till en annan webbplats med ett nytt fönster som mål utan att vidarebefordra information om den refererande webbplatsen. Google Chrome tolkar dessa åtgärder som att den nya sidan bör isoleras från den gamla och försöker läsa in den nya sidan i en separat process. Exempel:

<a href="http://differentsite.com" target="_blank" rel="noreferrer">Öppna i ny flik och ny process</a>

Om du vill att den nya fliken ska öppnas i en ny process samtidigt som referensinformation vidarebefordras kan du använda följande kod i JavaScript:

  • Öppna den nya fliken med about:blank som mål.
  • Ställ in variabeln opener för den nya fliken på null så att den inte får åtkomst till originalsidan.
  • Omdirigera från about:blank till en ny webbplats.

Exempel:

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

Detta fungerar bara för webbadresser på en annan domän eller ett annat protokoll än dem som används på webbsidan som öppnade popup-fönstret. Om sidan som öppnade popup-fönstret finns på adressen http://www.example.com/:

  • skulle en annan domän vara http://www.example.org eller http://www.example2.com
  • skulle ett annat protokoll vara https://www.example.com

17. Hur kan jag välja att min webbplats inte ska ingå i Google Instants inläsning av webbadresser?

Om du använder Google Chrome och har aktiverat funktionen "Chrome Instant" hämtas de flesta webbsidorna så fort webbadressen har angetts i adressfältet, innan du trycker på Retur.

Om du är administratör för en webbplats kan du hindra Google Chrome från att göra på det här viset på webbplatsen:

  • När Google Chrome skickar begäran till din webbplatsserver skickas även följande rubrik:
    X-Purpose: förhandsgranskning
  • Identifiera detta och returnera en statuskod av typen HTTP 403 ("Forbidden").
  • När Google Chrome tar emot den här statuskoden läggs din webbplats till på en svartlista hos klienten. Svartlistan kvarstår tills användaren har avslutat den aktuella webbläsarsessionen.

Sök

18. Om jag öppnar en sida i ett intranät visas en sökresultatsida i stället för sidan i intranätet

När en användare skriver ett ord i adressfältet söker Google Chrome efter termen och returnerar resultatet via standardsökmotorn. Samtidigt skickas en HEAD-begäran till http://term för att se om det är en giltig webbplats. Om Google Chrome tar emot ett HTTP/2xx-svar (t.ex. HTTP/200 OK) får användaren en fråga om han eller hon vill besöka webbplatsen i stället. Om användaren väljer att gå vidare till webbplatsen anges den som standardmål för den termen för framtida bruk.

Google Chrome visar även frågan om den tar emot:

  • ett HTTP/401- eller HTTP/407-svar
  • en HTTP/3xx-omdirigering som avslutas på en sida med något av ovanstående svar

Du bör kontrollera att webbservern svarar som den borde på en HEAD-begäran och inte bara på GET-begäranden om sidan.

Exempel: om det finns en webbplats på adressen http://project.intranet.example.com och en användare i detta företagsnätverk skriver project i adressfältet:

  • returnerar Google Chrome sökresultat för termen project
  • kontrollerar Google Chrome samtidigt om http://project är en giltig webbplats. Är det så
  • visas en fråga om användaren vill besöka http://project
  • och om användaren klickar sig vidare till http://project ställs http://project in som mål för all framtida användning av project i adressfältet

Användarna kan åsidosätta standardsökbeteendet genom att skriva project/ eller http://project eller genom att välja adressfältsposten project/ i stället för Sök efter project.

19. Hur kan jag få med min webbplats sökmöjligheter i sökalternativen i Google Chrome?

Om du tillhandahåller ett OSDD-dokument (OpenSearch Description) kan Google Chrome ta med din webbplats i listan över sökmotorer i webbläsaren. Mer information om OpenSearch finns på adressen http://www.opensearch.org.