一个问题是,亚马逊为每个新型号更改字符串。您可以仅检查Kindle、Silk和KF*,但这可能会导致误报。我从上面的示例中稍微修改了一下代码,使其更易读和易于维护。
截至2015年11月18日,以下代码应该可以工作。
请查看
https://developer.amazon.com/sdk/fire/specifications.html以获取新模型信息。
以下是我编写的代码,用于将人们从我的网站重定向到我的游戏Luna Puma,适用于Kindle Fire和Android手机:
<script type="text/javascript">
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>
/Kindle|Silk|KFAPW|KFARWI|KFASWI|KFFOWI|KFJW|KFMEWI|KFOT|KFSAW|KFSOWI|KFTBW|KFTHW|KFTT|WFFOWI/i.test(ua)
。 (该内容是JavaScript代码,用于检测用户代理字符串中是否包含与Kindle设备有关的关键字) - ecraig12345