mirror of
https://github.com/lancedikson/bowser
synced 2026-03-02 03:40:27 +00:00
refactored detection for firefox/seamonkey/plain gecko to conform to the way other browsers are detected, added version information in case unknown gecko/webkit browser is detected, added detection+tests+docs for sailfish browser
This commit is contained in:
@@ -62,22 +62,28 @@
|
||||
result.version = versionIdentifier
|
||||
}
|
||||
}
|
||||
else if (/gecko\//i.test(ua)) {
|
||||
else if (/sailfish/i.test(ua)) {
|
||||
result = {
|
||||
name: 'Gecko'
|
||||
, gecko: t
|
||||
name: 'Sailfish'
|
||||
, sailfish: t
|
||||
, version: getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i)
|
||||
}
|
||||
}
|
||||
else if (/seamonkey\//i.test(ua)) {
|
||||
result = {
|
||||
name: 'SeaMonkey'
|
||||
, seamonkey: t
|
||||
, version: getFirstMatch(/seamonkey\/(\d+(\.\d+)?)/i)
|
||||
}
|
||||
}
|
||||
else if (/firefox|iceweasel/i.test(ua)) {
|
||||
result = {
|
||||
name: 'Firefox'
|
||||
, firefox: t
|
||||
, version: getFirstMatch(/(?:firefox|iceweasel)[ \/](\d+(\.\d+)?)/i)
|
||||
}
|
||||
if (/seamonkey\//i.test(ua)) {
|
||||
result.name = 'SeaMonkey'
|
||||
result.seamonkey = t
|
||||
result.version = getFirstMatch(/seamonkey\/(\d+(\.\d+)?)/i)
|
||||
} else if (/firefox|iceweasel/i.test(ua)) {
|
||||
result.name = 'Firefox'
|
||||
result.firefox = t
|
||||
if (/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(ua)) {
|
||||
result.firefoxos = t
|
||||
}
|
||||
if (/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(ua)) {
|
||||
result.firefoxos = t
|
||||
}
|
||||
}
|
||||
else if (/silk/i.test(ua)) {
|
||||
@@ -138,9 +144,17 @@
|
||||
}
|
||||
else result = {}
|
||||
|
||||
// set webkit flag for webkit-based browsers
|
||||
// set webkit or gecko flag for browsers based on these engines
|
||||
if (/(apple)?webkit/i.test(ua)) {
|
||||
result.name = result.name || "Webkit"
|
||||
result.webkit = t
|
||||
if (!result.version && versionIdentifier) {
|
||||
result.version = versionIdentifier
|
||||
}
|
||||
} else if (!result.opera && /gecko\//i.test(ua)) {
|
||||
result.name = result.name || "Gecko"
|
||||
result.gecko = t
|
||||
result.version = result.version || getFirstMatch(/gecko\/(\d+(\.\d+)?)/i)
|
||||
}
|
||||
|
||||
// set OS flags for platforms that have multiple browsers
|
||||
|
||||
Reference in New Issue
Block a user