Skip to content

Commit c41100e

Browse files
committed
Backport - Improve browser detection: unified name for Baidu (cherry picked from commit 9cc274f)
1 parent 23c5d77 commit c41100e

File tree

2 files changed

+65
-34
lines changed

2 files changed

+65
-34
lines changed

src/ua-parser.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -227,11 +227,12 @@
227227
], [VERSION, [NAME, OPERA]], [
228228

229229
// Mixed
230+
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i // Baidu
231+
], [VERSION, [NAME, 'Baidu']], [
230232
/(kindle)\/([\w\.]+)/i, // Kindle
231233
/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer
232234
// Trident based
233-
/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser
234-
/(ba?idubrowser)[\/ ]?([\w\.]+)/i, // Baidu Browser
235+
/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser
235236
/(?:ms|\()(ie) ([\w\.]+)/i, // Internet Explorer
236237

237238
// Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
@@ -285,7 +286,7 @@
285286
], [[NAME, 'Sogou Mobile'], VERSION], [
286287
/(electron)\/([\w\.]+) safari/i, // Electron-based App
287288
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, // Tesla
288-
/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i // QQBrowser/Baidu App/2345 Browser
289+
/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i // QQBrowser/2345 Browser
289290
], [NAME, VERSION], [
290291
/(lbbrowser)/i, // LieBao Browser
291292
/\[(linkedin)app\]/i // LinkedIn App for iOS & Android

test/browser-test.json

Lines changed: 61 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,71 @@
144144
"ua" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; baidubrowser 1.x)",
145145
"expect" :
146146
{
147-
"name" : "baidubrowser",
147+
"name" : "Baidu",
148148
"version" : "1.x",
149149
"major" : "1"
150150
}
151151
},
152+
{
153+
"desc" : "Baidu",
154+
"ua" : "Mozilla/5.0 (Linux; Android 9; Redmi Note 5 Build/PKQ1.180904.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/110.0.5481.153 Mobile Safari/537.36 bdbrowser/6.4.0.4",
155+
"expect" :
156+
{
157+
"name" : "Baidu",
158+
"version" : "6.4.0.4",
159+
"major" : "6"
160+
}
161+
},
162+
{
163+
"desc" : "Baidu",
164+
"ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.4.9999.1900 Safari/537.31 BDSpark/26.4",
165+
"expect" :
166+
{
167+
"name" : "Baidu",
168+
"version" : "26.4",
169+
"major" : "26"
170+
}
171+
},
172+
{
173+
"desc" : "Baidu",
174+
"ua" : "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) BaiduHD/5.4.0.0 Mobile/10A406 Safari/8536.25",
175+
"expect" :
176+
{
177+
"name" : "Baidu",
178+
"version" : "5.4.0.0",
179+
"major" : "5"
180+
}
181+
},
182+
{
183+
"desc" : "BaiDu Browser",
184+
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.7 Safari/537.36",
185+
"expect" :
186+
{
187+
"name" : "Baidu",
188+
"version" : "8.7",
189+
"major" : "8"
190+
}
191+
},
192+
{
193+
"desc" : "baidu app on iOS",
194+
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16C101 main%2F1.0 baiduboxapp/11.12.0.18 (Baidu; P2 12.1.2)",
195+
"expect" :
196+
{
197+
"name" : "Baidu",
198+
"version" : "11.12.0.18",
199+
"major" : "11"
200+
}
201+
},
202+
{
203+
"desc" : "baidu app on Android",
204+
"ua" : "Mozilla/5.0 (Linux; Android 8.1.0; BKK-AL10 Build/HONORBKK-AL10; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/11.11 baiduboxapp/11.11.0.0 (Baidu; P1 8.1.0)",
205+
"expect" :
206+
{
207+
"name" : "Baidu",
208+
"version" : "11.11.0.0",
209+
"major" : "11"
210+
}
211+
},
152212
{
153213
"desc" : "Bolt",
154214
"ua" : "Mozilla/5.0 (X11; 78; CentOS; US-en) AppleWebKit/527+ (KHTML, like Gecko) Bolt/0.862 Version/3.0 Safari/523.15",
@@ -1648,26 +1708,6 @@
16481708
"major" : "6"
16491709
}
16501710
},
1651-
{
1652-
"desc" : "baidu app on iOS",
1653-
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16C101 main%2F1.0 baiduboxapp/11.12.0.18 (Baidu; P2 12.1.2)",
1654-
"expect" :
1655-
{
1656-
"name" : "baiduboxapp",
1657-
"version" : "11.12.0.18",
1658-
"major" : "11"
1659-
}
1660-
},
1661-
{
1662-
"desc" : "baidu app on Android",
1663-
"ua" : "Mozilla/5.0 (Linux; Android 8.1.0; BKK-AL10 Build/HONORBKK-AL10; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/11.11 baiduboxapp/11.11.0.0 (Baidu; P1 8.1.0)",
1664-
"expect" :
1665-
{
1666-
"name" : "baiduboxapp",
1667-
"version" : "11.11.0.0",
1668-
"major" : "11"
1669-
}
1670-
},
16711711
{
16721712
"desc" : "WeChat Desktop for Windows Built-in Browser",
16731713
"ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400",
@@ -1736,16 +1776,6 @@
17361776
"name" : "LBBROWSER"
17371777
}
17381778
},
1739-
{
1740-
"desc" : "BaiDu Browser",
1741-
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.7 Safari/537.36",
1742-
"expect" :
1743-
{
1744-
"name" : "BIDUBrowser",
1745-
"version" : "8.7",
1746-
"major" : "8"
1747-
}
1748-
},
17491779
{
17501780
"desc" : "2345 Browser",
17511781
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.2.1.17116",

0 commit comments

Comments
 (0)