1
0
mirror of https://github.com/lancedikson/bowser synced 2024-10-27 20:34:22 +00:00

Merge branch 'hotfix/1.4.6' into production

This commit is contained in:
Denis Demchenko 2016-09-19 23:06:43 +03:00
commit 7c8b159d73
7 changed files with 38 additions and 4 deletions

View File

@ -1,5 +1,10 @@
# Bowser Changelog # Bowser Changelog
### 1.4.6 (September 19, 2016)
- [FIX] Fix mobile Opera's version detection on Android
- [FIX] Fix typescript typings — add `mobile` and `tablet` flags
- [DOC] Fix description of `bowser.check`
### 1.4.5 (August 30, 2016) ### 1.4.5 (August 30, 2016)
- [FIX] Add support of Samsung Internet for Android - [FIX] Add support of Samsung Internet for Android

View File

@ -29,7 +29,7 @@ Use it to get object with detected flags of your current browser.
Use it to get object with detected flags from User Agent string. Use it to get object with detected flags from User Agent string.
### bowser.check(minVersions`:Object`, strictMode`:Boolean`, [ua]`:String`)`:Boolean` ### bowser.check(minVersions`:Object`, strictMode`:Boolean`, [ua]`:String`)`:Boolean`
Use it to check if browser supported. Use it to check if browser is supported. In default non-strict mode any browser family not present in `minVersions` will pass the check (like Chrome in the third call in the sample bellow). When strict mode is enabled then any not specified browser family in `minVersions` will cause `check` to return `false` (in the sample it is the fourth call, the last one).
``` js ``` js
/** /**

View File

@ -7,7 +7,7 @@
"sniff", "sniff",
"detection" "detection"
], ],
"version": "1.4.1", "version": "1.4.6",
"homepage": "https://github.com/ded/bowser", "homepage": "https://github.com/ded/bowser",
"scripts": [ "scripts": [
"src/bowser.js" "src/bowser.js"

View File

@ -7,7 +7,7 @@
"sniff", "sniff",
"detection" "detection"
], ],
"version": "1.4.5", "version": "1.4.6",
"homepage": "https://github.com/ded/bowser", "homepage": "https://github.com/ded/bowser",
"author": "Dustin Diaz <dustin@dustindiaz.com> (http://dustindiaz.com)", "author": "Dustin Diaz <dustin@dustindiaz.com> (http://dustindiaz.com)",
"main": "./src/bowser.js", "main": "./src/bowser.js",

View File

@ -49,12 +49,20 @@
, xbox = /xbox/i.test(ua) , xbox = /xbox/i.test(ua)
, result , result
if (/opera|opr|opios/i.test(ua)) { if (/opera/i.test(ua)) {
// an old Opera
result = { result = {
name: 'Opera' name: 'Opera'
, opera: t , opera: t
, version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i) , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)
} }
} else if (/opr|opios/i.test(ua)) {
// a new Opera
result = {
name: 'Opera'
, opera: t
, version: getFirstMatch(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i) || versionIdentifier
}
} }
else if (/SamsungBrowser/i.test(ua)) { else if (/SamsungBrowser/i.test(ua)) {
result = { result = {

View File

@ -308,6 +308,25 @@ module.exports.useragents = {
, linux: true , linux: true
, c: true , c: true
} }
, 'Mozilla/5.0 (iPod touch; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) OPiOS/14.0.0.104835 Mobile/13G35 Safari/9537.53': {
opera: true
, version: '14.0'
, mobile: true
, ipod: true
, ios: true
, a: true
, osversion: '9.3.4'
, webkit: true
}
, 'Mozilla/5.0 (Linux; U; Android 6.0; R1 HD Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Mobile Safari/537.36 OPR/18.0.2254.106542': {
opera: true
, version: '18.0'
, blink: true
, mobile: true
, android: true
, a: true
, osversion: '6.0'
}
} }
, 'Opera Coast': { , 'Opera Coast': {
'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Coast/5.02.99991 Mobile/13E238 Safari/7534.48.3': { 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Coast/5.02.99991 Mobile/13E238 Safari/7534.48.3': {

2
typings.d.ts vendored
View File

@ -26,6 +26,8 @@ export const silk: boolean
export const tizen: boolean export const tizen: boolean
export const webkit: boolean export const webkit: boolean
export const webos: boolean export const webos: boolean
export const mobile: boolean
export const tablet: boolean
// operating systems // operating systems
export const chromeos: boolean export const chromeos: boolean