12

samsung株式ブラウザのキャンバスバグのため、私のプログラムはエラーを引き起こします。( http://code.google.com/p/android/issues/detail?id=39247 )

したがって、すべての Samsung ストック ブラウザでキャンバスを無効にしたいと考えています。

ナビゲーターオブジェクトまたは他の方法で検出できますか?

同じ質問を見つけましたが、その解決策は完璧ではないようです ( javascript - ユーザー エージェントのデバイスに一致する正規表現)

Wiki は、Samsung がより多くのモデルを持っていることを示しています。( http://en.wikipedia.org/wiki/Samsung_Galaxy_S_III )

4

5 に答える 5

6

次の正規表現は、ほぼすべての Samsungモバイルデバイスをカバーしています。

if(navigator.userAgent.match(/SAMSUNG|Samsung|SGH-[I|N|T]|GT-[I|N]|SM-[A|N|P|T|Z]|SHV-E|SCH-[I|J|R|S]|SPH-L/i)) {
    console.log("it's Samsung");
    // your code for Samsung Smartphones goes here...
}
于 2015-03-24T10:19:26.573 に答える
1

このバグを検出するには、userAgent を使用するだけで十分です。文字列を探します534.30。例えば:

  if (window.navigator && window.navigator.userAgent.indexOf('534.30') > 0) {
    // Clear the canvas a different way because they are using a known-bad version of the default android browser
  }
于 2013-04-10T20:24:49.393 に答える
0

一部の samsung ユーザー エージェントには、「samsung」という単語が含まれています。ユーザー エージェント文字列に「samsung」が見つかった場合、それは適切な指標です。しかし、私が調べたほとんどの samsung ユーザー エージェントには、samsung という単語が含まれていませんでした。ただし、別のチェックがあります。これまでのところ、すべてのサムスンのモデル番号は「GT-xxxxxx」の形式になっているため、UA のどこかに「android」があり、その後に「GT-」が続くユーザー エージェントをチェックします。(またはサムスンという言葉...)これは明らかに少したるんでいますが、これまでのところ問題ないようです....

于 2013-07-09T09:54:37.620 に答える