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に対してが取得され、アクセスに対して が生成されます。getElementByIdTypeError.innerHTML

使用window.onload:

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