1

以下是显示浏览器详细信息的 JavaScript 代码。它显示没有输出。请让我知道我在哪里做错了。

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

        var txt;
        txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
        txt+= "<p>Browser Name: " + navigator.appName + "</p>";
        txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
        txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
        txt+= "<p>Platform: " + navigator.platform + "</p>";
        txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";

        document.getElementById("example").innerHTML=txt;

      </script>
</head>

<body>
    <p id="example"></p>
</body>
</html>
4

3 回答 3

3

您在examplediv 元素存在之前运行 Javascript。稍后运行它(= 在文档的末尾)。

于 2012-02-12T12:44:25.090 回答
2

在你拥有之后保留你的代码,example p它会运行良好。

像这样的东西会起作用。但是,您应该始终将您的 javascript 与 HTML 分开。

<!DOCTYPE html>
<html>
<head>
    <title></title>

</head>

<body>

    <p id="example"></p>
   <script type="text/javascript">

        var txt;
        txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
        txt+= "<p>Browser Name: " + navigator.appName + "</p>";
        txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
        txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
        txt+= "<p>Platform: " + navigator.platform + "</p>";
        txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";

        document.getElementById("example").innerHTML=txt;

      </script>
</body>
</html>
于 2012-02-12T12:44:52.517 回答
1

您正在访问该元素,但它尚不存在。原因是该元素的定义晚于您的脚本。您将获得null通话getElementById,这会导致TypeError访问.innerHTML.

使用window.onload

window.onload = function() {
    var txt;
    // ...
};
于 2012-02-12T12:45:01.690 回答