我没有得到黑莓或其他警报

时间:2012-01-27 09:39:05

标签: javascript

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <script type="text/javascript">
            function getcss(cssfile)
            {
                alert("hi");
                alert(navigator.appName);
            }
            if(navigator.appName("Blackberry"))
            {
                alert("blackberry");
            }
            else
            {
            alert("other");
            }
        </script>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
    </head>

    <body onload="getcss()">
        <div id="demo">
            Hai Css
        </div>
    </body>
</html>

为什么我没有收到黑莓或其他警报?我对该代码有更多疑问,所以我想要澄清这一点。

1 个答案:

答案 0 :(得分:0)

这部分错了:

if(navigator.appName("Blackberry"))

appName是一个字符串而不是函数,这可能会导致脚本停止执行异常。尝试

if (navigator.appName == "BlackBerry")

注意第二个首都'B';来自the docs

  

navigator.appName设置为浏览器名称“BlackBerry”。

您可能希望使比较更宽松,例如

if (navigator.appName.toLowerCase().indexOf("blackberry") >= 0)

在字符串中的任何位置查找“BlackBerry”,不区分大小写。 (为了更加安全,你可以检查navigator.appName不是null,实际上是一个字符串,但这可能不是必需的。)

相关问题