1. ホーム
  2. Reporting Errors

Uncaught TypeError: Cannot read property 'style' of null at error.html:84

2022-02-10 09:45:58

判定は、ブラウザがチェコ語で読んだらチェコ語のテキストを表示し、そうでなければ英語のテキストを表示する コードは以下の通りです。

<body>
        <script>
                var JsSrc = (navigator.language || navigator.browserLanguage).toLowerCase();
                var sbtitle = document.getElementById("section");
                console.log("weichongbin JsSrc : ",JsSrc," sbtitle.style : " ,sbtitle.style);
                if(JsSrc.indexOf('cs')>=0)
                {
                // If the browser language is Czech
                document.getElementById("section").style.display="none";// hide
                document.getElementById("sectionCs").style.display="block";//show
                document.getElementById("section2").style.display="none";//hide
                document.getElementById("section2Cs").style.display="block";//show
                }
                else
                {
                // If the browser language is another language
                document.getElementById("sectionCs").style.display="none";// hide
                document.getElementById("section").style.display="block";//show
                document.getElementById("section2Cs").style.display="none";//hide
                document.getElementById("section2").style.display="block";//show
                }
                </script>
<p>
    <img th:src="@{${logoUrl}}" width="36" height="36"/>
</p>
<div id="header">
</div>
<div id="section" >
    <a>No longer have access to Vivien Home</a>
</div>
<div id="sectionCs">
        <a>Už nemají přístup k Vivien Home</a>
    </div>
<div id="section2">
    <p>
        You will no longer have access to Vivien Home since she/he removed the share.
    </p>
</div>
<div id="section2Cs">
    <p>
        Již nebudete mít přístup k domácnosti Vivien Home, protože bylo zrušeno sdílení.
    </p>
</div>
</body>

しかし、エフェクト画像は非表示にならず、英文テキスト、エラーが報告される

Uncaught TypeError: Cannot read property 'style' of null at error.html:84

私は非常に困惑し、2時間Baidu、Googleを過ごし、最終的にスクリプトが最初に実行されることがわかった、htmlはスタイルが空にする必要がありますので、レンダリングされていない、その下のhtmlコードにスクリプトを移動することができます

<body>
<p>
    <img th:src="@{${logoUrl}}" width="36" height="36"/>
</p>
<div id="header">
</div>
<div id="section" >
    <a>No longer have access to Vivien Home</a>
</div>
<div id="sectionCs">
        <a>Už nemají přístup k Vivien Home</a>
    </div>
<div id="section2">
    <p>
        You will no longer have access to Vivien Home since she/he removed the share.
    </p>
</div>
<div id="section2Cs">
    <p>
        Již nebudete mít přístup k domácnosti Vivien Home, protože bylo zrušeno sdílení.
    </p>
</div>
<script>
        var JsSrc = (navigator.language || navigator.browserLanguage).toLowerCase();
        var sbtitle = document.getElementById("section");
        console.log("weichongbin JsSrc : ",JsSrc," sbtitle.style : " ,sbtitle.style);
        if(JsSrc.indexOf('cs')>=0)
        {
        // If the browser language is Czech
        document.getElementById("section").style.display="none";// hide
        document.getElementById("sectionCs").style.display="block";//show
        document.getElementById("section2").style.display="none";//hide
        document.getElementById("section2Cs").style.display="block";//show
        }
        else
        {
        // If the browser language is another language
        document.getElementById("sectionCs").style.display="none";// hide
        document.getElementById("section").style.display="block";//show
        document.getElementById("section2Cs").style.display="none";//hide
        document.getElementById("section2").style.display="block";//show
        }
        </script>
</body>


<イグ