집 >웹 프론트엔드 >JS 튜토리얼 >IE_javascript 팁에서 js 파일을 캐싱할 때 스크립트를 동적으로 생성하여 발생하는 인코딩에 대한 솔루션
IE_javascript 팁에서 js 파일을 캐싱할 때 스크립트를 동적으로 생성하여 발생하는 인코딩에 대한 솔루션
- WBOY원래의
- 2016-05-16 16:50:091201검색
먼저 재생코드
1, gb2312.html을 살펴보겠습니다. 파일은 gb2312
🎜>
헤드>
<본문>
var script = document.createElement('script');
script.src = src;
script.charset =
var head = document.getElementsByTagName ('head')[ 0];
head.appendChild(script)
2. utf8.js 파일 인코딩은 utf-8
코드 복사
코드는 다음과 같습니다 :
var p = document.createElement('p');
두 번째부터는 텍스트 인코딩이 올바르지 않습니다.
그림과 같이
동적으로 생성된 스크립트 태그가 아니고 html페이지에 직접 작성한다면 이런 문제는 없을 것이다. .
코드 복사
코드는 다음과 같습니다.
document.write를 사용하여 js 리소스를 로드하는 경우 이 버그는 발생하지 않습니다 코드 복사
코드는 다음과 같습니다.
<script> <br>function loadByWrite(url, charset; ) { <div class="codetitle"> var str = '<script type="text/javascript"' ' src="' url '" charset="' charset '"><' '/script>' <span>문서 .write(str) <a style="CURSOR: pointer" data="78091" class="copybut" id="copybut78091" onclick="doCopy('code78091')">} <u></script> <script> </a>loadByWrite('utf8.js', 'utf-8') </span></script>
해결책은 src 및 charset 속성 할당 순서를 변경하는 것입니다.
코드 복사
코드는 다음과 같습니다.
script.charset = charset; script.src = src;
즉, charset에 먼저 값을 할당합니다.
성명:본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.