> 웹 프론트엔드 > JS 튜토리얼 > IE_javascript 팁에서 js 파일을 캐싱할 때 스크립트를 동적으로 생성하여 발생하는 인코딩에 대한 솔루션

IE_javascript 팁에서 js 파일을 캐싱할 때 스크립트를 동적으로 생성하여 발생하는 인코딩에 대한 솔루션

WBOY
풀어 주다: 2016-05-16 16:50:09
원래의
1198명이 탐색했습니다.

먼저 재생코드

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페이지에 직접 작성한다면 이런 문제는 없을 것이다. .




코드 복사


코드는 다음과 같습니다.IE_javascript 팁에서 js 파일을 캐싱할 때 스크립트를 동적으로 생성하여 발생하는 인코딩에 대한 솔루션


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에 먼저 값을 할당합니다.
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿