一个问题是亚马逊会更改每个新模型的字符串。您只能检查 Kindle、Silk 和 KF*,但这可能会导致误报。我已经从上面的一个示例中对代码进行了一些更改,以使其更具可读性和易于维护。
截至 2015 年 11 月 18 日,以下代码应该可以工作。
检查https://developer.amazon.com/sdk/fire/specifications.html以获取新模型。
这是我为 Kindle Fire 和 Android 手机将人们从我的网站重定向到我的游戏 Luna Puma 编写的代码:
<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>