Как я могу обнаружить зажигательный огонь с помощью JavaScript? - PullRequest
10 голосов
/ 30 января 2012

Я пытаюсь определить с помощью javascript, работает ли мой сайт на мобильном устройстве kindle fire.Я пробовал с navigator.userAgent и navigator.appVersion, но я получаю эти результаты на kindle:

5.0 (Macintosh; U; Intel Mac OS X 10_6_3; ru-ru)) Версия / 5.0 Safari / 533.16

и

Mozilla / 5.0 (Macintosh; U; Intel Mac OS X 10_6_3; ru-ru)Safari / 533.16

Что я могу использовать из этих строк, чтобы знать, что я нахожусь на разжигании, а не на другом устройстве?

Ответы [ 5 ]

15 голосов
/ 09 января 2014

в Javascript,

var ua = navigator.userAgent;
var isKindle = /Kindle/i.test(ua) || /Silk/i.test(ua) || /KFTT/i.test(ua) || /KFOT/i.test(ua) || /KFJWA/i.test(ua) || /KFJWI/i.test(ua) || /KFSOWI/i.test(ua) || /KFTHWA/i.test(ua) || /KFTHWI/i.test(ua) || /KFAPWA/i.test(ua) || /KFAPWI/i.test(ua);
if(isKindle) { 
//Your code here
}
7 голосов
/ 29 сентября 2012

есть две вещи, которые вы должны проверить на 1 / Silk (или Silk-Accelerated) 2 / "Kindle", "KFOT", "KFTT" или другие из таблицы на https://developer.amazon.com/sdk/fire/specifications.html

In Silkили сквозной # 1 должен дать вам подтверждение, если веб-страница доступна из WebView, то # 2 ее поймает

6 голосов
/ 30 января 2012

Строка User Agent для Kindle Fire:

Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

В режиме шелка:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true
2 голосов
/ 18 ноября 2015

Одна проблема заключается в том, что Amazon меняет строки для каждой новой модели. Вы можете проверить только для Kindle, Silk и KF *, но это может привести к ложным срабатываниям. Я немного изменил код из одного из приведенных выше примеров, чтобы сделать его более читабельным и простым в обслуживании.

По состоянию на 18 ноября 2015 г. приведенный ниже код должен работать.

Проверьте https://developer.amazon.com/sdk/fire/specifications.html для новых моделей.

Это код, который я написал, чтобы перенаправить людей на мою игру Luna Puma с моего сайта для телефонов Kindle Fire и Android:

<script type="text/javascript"> // <![CDATA[

   var ua = navigator.userAgent;

   var kindleStrings = [ 
    "Kindle",
    "Silk",
    "KFTT",
    "KFOT",
    "KFJWA",
    "KFJWI",
    "KFSOWI",
    "KFTHWA",
    "KFTHWI",
    "KFAPWA",
    "KFAPWI",
    "KFASWI",
    "KFTBWI",
    "KFMEWI",
    "KFFOWI",
    "KFSAWA",
    "KFSAWI",
    "KFARWI" ];

   var isKindle = false;

   for (index = 0; index < kindleStrings.length; index++) {
       var matchRegExp = new RegExp (kindleStrings[index]);
       if (matchRegExp.test (ua)) {
           isKindle = true;
           break;
       }
  }

   if (isKindle) { 
        document.location = "amzn://apps/android?asin=B01859LRE0";
   }

   var isAndroid = /Android/i.test (ua);

   if (isAndroid && !isKindle) {
      document.location = "https://play.google.com/store/apps/details?id=com.xanamania.lunapuma";
   } // ]]>

 </script>
0 голосов
/ 02 февраля 2013

Пользовательский агент Silk и пример кода JavaScript для обнаружения Silk можно найти в блоге: http://amazonsilk.wordpress.com/useful-bits/silk-user-agent/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...