记一次中文乱码
<!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的编码格式去解析,就乱码了。

浙公网安备 33010602011771号