3

我正在尝试根据用户浏览到页面的设备来显示正确的按钮和链接。如果 android 显示 android 应用商店按钮,如果 ios 显示苹果商店按钮。

即使我将函数默认设置为将其从 android 切换到 apple 按钮,我似乎也无法让它交换。

这是代码:

<html>
<head>
    <script type="text/javascript">

        var uagent = navigator.userAgent.toLowerCase();
        var apple = "/images/ios.jpg";
        var android = "/images/android.jpg"


        function DetectDevice() {
            var but = document.getElementById("AppButton");
            if(useragent.search("iphone") || useragent.search("ipod") || useragent.search("ipad")) {
                toswap.src = apple;
                alert("apple");
            } else if(useragent.search("android")) {
                toswap.src = android;
                alert("android");
            }
            but.src = apple;
        }
        DetectDevice();
    </script>

    <title>Device Detection</title>
</head>

<div id="butttons">
    <img src="images/android.jpg" name = "AppButton" id="AppButton"/>
</div>
4

3 回答 3

0

useragent也没有定义。您可能打算使用uagent您定义的,或者您可能打算重命名您的变量。

于 2012-10-25T17:56:17.940 回答
0

两个问题:

首先,您的函数需要在按钮加载后运行,因为

document.getElementById("AppButton");

目前没有返回任何内容。

其次,您可能应该更改toswap.srcto的 2 个实例but.src

于 2012-10-25T17:50:29.203 回答
0

我不知道 var toswap 指的是哪里。尝试这个:

        var uagent = navigator.userAgent.toLowerCase();
        var apple = "/images/ios.jpg";
        var android = "/images/android.jpg"


        function DetectDevice() {
            var but = document.getElementById("AppButton");
            if(useragent.search("iphone") || useragent.search("ipod") || useragent.search("ipad")) {
                but.src = apple;
                alert("apple");
            } else if(useragent.search("android")) {
                but.src = android;
                alert("android");
            } else{
                but.src = apple; // this is default
            }
        }

    </script>

<div id="butttons">
    <img src="images/android.jpg" onload="DetectDevice();" name = "AppButton" id="AppButton"/>
</div>
于 2012-10-25T17:52:27.117 回答