0

ワンページアプリを開発しています。ショートカットは OS ごとに異なるはずです。特に Mac OS X はそうです。他の OS は通常、キーストロークと を組み合わせますCtrlが、Macは と組み合わせCmdます。

今まで、OS が mac かどうかを次のコードで検出しようとしました。

var bMac = navigator.appVersion.indexOf('Mac') > -1;

このコードはうまくいきました。ただし、Chrome を最新バージョン (37.0.2062.94) に更新した後、動作しなくなりました。

JavaScriptでブラウザのホストOSを検出する方法はありますか?

CmdChrome で Google ドキュメントを確認したところ、ショートカットは Mac とWindows でうまく機能しましCtrlた。Chrome の JavaScript で OS を検出する方法があるはずです。

編集 私はグーグルで、JavaScriptでOSを検出することに関するいくつかのページを見つけました:

4

2 に答える 2

0

navigation.userAgentうまくいくはずですが、応答を解析する必要があります。これは、タグにクラスを追加することにより、OS、ブラウザー、デバイス、デバイスのバージョンなどを検出するための非常に優れた小さな JavaScriptです。htmlCSS スタイルを支援することを目的としていますが、他の用途もあります。

例、その小さな JavaScript を実行すると、次のようになります。

<html class="webkit chrome mac">
于 2014-08-29T08:14:46.087 に答える
0

バージョンアップの際に思わぬ副作用があったようです。まだまだわかりにくいです。

を確認したところnavigator.appVersion、変な感じで がありましたLinux; Android...

> navigator.appVersion
  "5.0 (Linux; Android 4.2.2; GT-I9505 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36"

Emulation開発者ツールのタブ を確認したところ、次のように表示されました。ここに画像の説明を入力

このタブが通常空であることは奇妙でした。とにかくReset、タブのボタンをクリックすると、戻ってきます。

> navigator.appVersion
  "5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36"
于 2014-08-29T09:15:28.237 に答える