1. ホーム
  2. javascript

[解決済み] jQueryを使ったSafariの検出

2022-08-29 01:47:35

質問

どちらもWebkitベースのブラウザですが、SafariはURLの引用符をurlencodeし、Chromeはそうしません。

したがって、JSでこの2つを区別する必要があります。

jQueryのブラウザ検出に関するドキュメント は、非推奨として "safari" をマークします。

もっと良い方法があるのでしょうか、それとも今のところ非推奨の値で我慢すればいいのでしょうか?

どのように解決するのですか?

を混在させることで feature detectionUseragent という文字列があります。

    var is_opera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
    var is_Edge = navigator.userAgent.indexOf("Edge") > -1;
    var is_chrome = !!window.chrome && !is_opera && !is_Edge;
    var is_explorer= typeof document !== 'undefined' && !!document.documentMode && !is_Edge;
    var is_firefox = typeof window.InstallTrigger !== 'undefined';
    var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);

使用方法

if (is_safari) alert('Safari');

また、Safariのみの場合は、次のようにします。

if ( /^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {alert('Its Safari');}