Upptäcker webbläsaren Chrome med JavaScript
-
Med
navigator.userAgent:- Egenskapen
navigator.userAgenttillhandahåller en sträng som innehåller webbläsaridentifieringsdetaljer. - Kontrollera om den här strängen innehåller "Chrome" men inte inkluderar "Edge" (eftersom nya Microsoft Edge är Chromium-baserad).
- För Chrome på iOS kan strängen även innehålla "CriOS".
- Exempel:
/Chrome/.test(navigator.userAgent) && !/Edge/.test(navigator.userAgent)
- Egenskapen
-
Med
navigator.vendor:- Egenskapen
navigator.vendorreturnerar ofta "Google Inc." för Chrome-webbläsare. - Denna metod är mindre exakt, eftersom många andra Chromium-baserade webbläsare också kan rapportera samma leverantörssträng.
- Exempel:
navigator.vendor === "Google Inc."
- Egenskapen
-
Använda
window.chrome-objektet:- Officiella Google Chrome-webbläsare exponerar vanligtvis ett globalt
window.chrome-objekt. - Verifiera existensen av detta objekt och dess specifika underegenskaper, till exempel
window.chrome.webstoreellerwindow.chrome.runtime. - Det här tillvägagångssättet anses generellt vara mer robust för att skilja officiell Chrome från andra Chromium-derivat.
- Exempel:
!!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime)
- Officiella Google Chrome-webbläsare exponerar vanligtvis ett globalt
Viktiga överväganden för webbläsardetektering
- Webbläsardetektering baserad på användaragentsträngar är i sig bräcklig och benägen att bryta med webbläsaruppdateringar.
- Användaragentsträngar kan modifieras eller förfalskas av användare, tillägg eller automatiserade verktyg.
- Många moderna webbläsare, inklusive Microsoft Edge, Opera och Brave, är byggda på Chromium-motorn och delar egenskaper med Chrome.
- När det är möjligt, prioritera funktionsdetektering (kontrollera förekomsten av specifika API:er eller funktioner) framför direkt webbläsaridentifiering för mer motståndskraftig kod.
Jämförelse av webbläsardetekteringsmetoder
| Metod | Primär indikator | Specificitet (Chrome vs. Chromium) | Vanliga varningar |
|---|---|---|---|
navigator.userAgent |
"Chrome"-delsträng (exklusive "Edge") | Moderat; kräver noggrann uteslutningslogik | Kan förfalskas; benägen för framtida förändringar; garanterar inte officiell Chrome. |
navigator.vendor |
"Google Inc." sträng | Låg; delas av många Chromium-baserade webbläsare | Lätt att förfalska; inte en unik identifierare för Google Chrome. |
window.chrome-objekt |
Närvaro av window.chrome och specifika egenskaper |
Hög; stark indikator för officiella Google Chrome | Blir på interna webbläsarobjekt; andra Chromium-webbläsare kan försöka efterlikna. |
Copyright ©backnode.pages.dev 2026