Skip to content

Commit cfe753c

Browse files
committed
Enhance browser detection. See #251
1 parent bd5b609 commit cfe753c

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

src/utils/browser.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,21 @@ export function idle(fn, { fast = false } = {}) {
1313
}
1414
}
1515

16+
/**
17+
* Detecta Safari real + Safari en iOS WebView (UIWebView/WKWebView) + variantes WeChat.
18+
*/
1619
export function isSafari() {
1720
const ua = (typeof navigator !== 'undefined' && navigator.userAgent) ? navigator.userAgent : '';
18-
const isSafariUA = /^((?!chrome|android).)*safari/i.test(ua); // original
19-
const isWeChatUA = /(MicroMessenger|wxwork|WeCom|WindowsWechat|MacWechat)/i.test(ua); // agregado
20-
return isSafariUA || isWeChatUA;
21+
22+
// Safari "clásico" (descarta Chrome y Android)
23+
const isSafariUA = /^((?!chrome|android).)*safari/i.test(ua);
24+
25+
// UIWebView/WKWebView en iOS: AppleWebKit + Mobile pero sin "Safari"
26+
const isUIWebView = /AppleWebKit/i.test(ua) && /Mobile/i.test(ua) && !/Safari/i.test(ua);
27+
28+
// Apps tipo WeChat que embeben WebKit
29+
const isWeChatUA = /(MicroMessenger|wxwork|WeCom|WindowsWechat|MacWechat)/i.test(ua);
30+
31+
return isSafariUA || isUIWebView || isWeChatUA;
2132
}
33+

0 commit comments

Comments
 (0)