记一次中文乱码

<!DOCTYPE html>
<html>
 <head>
    <title></title>
    <meta charset="utf-8"/>
    <style>
        p {
            color: red;
        }
    </style>
 </head>
 <body>
    <button onclick="loadJS('a.js', 'GBK')">测试</button>
    <div id="ceshi"></div>
    <div id="divtag"></div>

 </body>
<script>

    function loadJS(src, charset) {

        var script = document.createElement('script');

        let ss= (new Date()).getTime();
        
        // script.src = "https://test/test/ta_Cache.js?"+ss;
        script.src = "https://test/test/ata.js";
        // script.src = "https://test/test/ata.js?"+ss;
        
        script.charset = charset;

        var head = document.getElementsByTagName('head')[0];             
        head.appendChild(script);

        document.getElementById("divtag").innerHTML=data.cuemoddata;
        // document.getElementById("divtag").innerHTML=divtag[0][1][1][0];

    }

</script>
</html> 

问题:ie下第一次不乱码,第二次及以后乱码。因为这个文件是GBK编码文件,html是utf-8

编码的。第一次代码设置了charset="GBK"不乱码,后面浏览器缓存住了,然后缓存代码默认以html首部utf-8的编码格式去解析,就乱码了。

posted @ 2021-08-02 20:29  仔行天下  阅读(120)  评论(0编辑  收藏  举报