1つの問題は、Amazonが新しいモデルごとに文字列を変更することです。あなたはKindle、Silk、KF *のみをチェックすることができますが、それは潜在的に偽陽性につながる可能性があります。上記の例のいずれかからコードを少し変更して、読みやすく、保守しやすくしました。
2015年11月18日現在、以下のコードが有効です。
新しいモデルについてはhttps://developer.amazon.com/sdk/fire/specifications.htmlをチェックしてください。
これは私が両方のKindleの火災とAndroid携帯電話のための私のウェブサイトからの私のゲームルナプーマに人々をリダイレクトするために書いたコードです:あなたはKindleの火災で実行しているかどうかを検出
<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>
恐ろしいです。新しいバージョンのKindleアップデートとして動作するreg exを提供できますか? – Aaron
上記は、第一世代のKindle Fireを超えては機能しません。Kindle、KFJWI、KFJWAのような潜在的頭字語に移ってきたKindle Fire 2世代以来、Amazonが "Kindle Fire"をユーザエージェントの文字列に詰め込んだのはうれしいことでした。詳細はこちらを参照してください:https://developer.amazon.com/sdk/fire/specifications.html#UserAgentStrings –