如何用javascript检测kindle fire?

gab*_*ish 10 javascript browser-detection kindle-fire

我试图用javascript检测我的网站是否在点燃的移动设备上运行.我尝试过使用navigator.userAgent和navigator.appVersion但是我在kindle上得到了这个结果:

5.0(Macintosh; U; Intel Mac OS X 10_6_3; zh-CN)AppleWebKit/533.16(KHTML,类似Gecko)版本/ 5.0 Safari/533.16

Mozilla/5.0(Macintosh; U; Intel Mac OS X 10_6_3; zh-CN)AppleWebKit/533.16(KHTML,类似Gecko)版本/ 5.0 Safari/533.16

我可以使用什么来形成这些字符串,以了解我是在点燃而不是在其他设备上?

Ven*_*ddy 15

在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
}
Run Code Online (Sandbox Code Playgroud)

  • 简明版本(并在此评论日期更新为包括[当前的Kindles](https://developer.amazon.com/appsandservices/solutions/devices/kindle-fire/specifications/01-device-and-feature-specifications)) :`/Kindle|Silk|KFAPW | KFARWI | KFASWI | KFFOWI | KFJW | KFMEWI | KFOT | KFSAW | KFSOWI | KFTBW | KFTHW | KFTT | WFFOWI/i.test(ua)` (3认同)

Off*_*mal 7

有两件事你应该检查1/Silk(或Silk-Accelerated)2 /"Kindle","KFOT","KFTT"或其他来自https://developer.amazon.com/sdk/fire/的表格specifications.html

在Silk或pass-through#1应该给你确认,如果从WebView访问网页然后#2将抓住它


MMM*_*MMM 6

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
Run Code Online (Sandbox Code Playgroud)

在丝绸模式:

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
Run Code Online (Sandbox Code Playgroud)

  • 以上内容不会超越第一代Kindle Fire.如果亚马逊在其用户代理字符串中坚持使用"Kindle Fire",那将会很不错,但自从Kindle Fire第二代以来,他们已经转向了像KFTT,KFJWI和KFJWA这样的神秘缩略语.有关详细信息,请参阅此处:https://developer.amazon.com/sdk/fire/specifications.html#UserAgentStrings (5认同)