Use Detect Browser
fancy/use-detect-browserFreeHook
A hook component.
Install it
npx shadcn@latest add https://www.fancycomponents.dev/r/use-detect-browser.jsonSource
1import React from "react"23export default function useDetectBrowser() {4 if (typeof window === "undefined") return null56 let sBrowser,7 sUsrAg = navigator.userAgent8 const [browserName, setBrowserName] = React.useState("")910 React.useEffect(() => {11 if (sUsrAg.indexOf("Firefox") > -1) {12 sBrowser = "Firefox"13 // "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0"14 } else if (sUsrAg.indexOf("SamsungBrowser") > -1) {15 sBrowser = "Samsung Internet"16 // "Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-G955F Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.4 Chrome/67.0.3396.87 Mobile Safari/537.3617 } else if (sUsrAg.indexOf("Opera") > -1 || sUsrAg.indexOf("OPR") > -1) {18 sBrowser = "Opera"19 // "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.106"20 } else if (sUsrAg.indexOf("Trident") > -1) {21 sBrowser = "IE"22 // "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Zoom 3.6.0; wbx 1.0.0; rv:11.0) like Gecko"23 } else if (sUsrAg.indexOf("Edge") > -1) {24 sBrowser = "Edge"25 // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"26 } else if (sUsrAg.indexOf("Chrome") > -1) {27 sBrowser = "Chrome"28 // "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 Chrome/66.0.3359.181 Safari/537.36"29 } else if (sUsrAg.indexOf("Safari") > -1) {30 sBrowser = "Safari"31 // "Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 980x1306"32 } else {33 sBrowser = "unknown"34 }35 setBrowserName(sBrowser)36 }, [])37 return browserName38}
Files it writes
More from fancy
All 158 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Use Debounced Dimensionsuse-debounced-dimensions | fancy | Hooks | Free | no deps | |
| Use Dimensionsuse-dimensions | fancy | Hooks | Free | no deps | |
| Use Elastic Line Eventsuse-elastic-line-events | fancy | Hooks | Free | no deps | |
| Use Line Breakdownuse-line-breakdown | fancy | Hooks | Free | no deps | |
| Use Line Countuse-line-count | fancy | Hooks | Free | no deps | |
| Use Mounteduse-mounted | fancy | Hooks | Free | no deps | |
| Use Mouse Positionuse-mouse-position | fancy | Hooks | Free | no deps | |
| Use Mouse Position Refuse-mouse-position-ref | fancy | Hooks | Free | no deps |
