KindEditor 4.1.2 ie6 loadScript bug

1480 단어 functionIEnullurl
KindEditor 
버전 4.1.2
ie6 아래_loadScript 메소드 버그
소스 코드는 다음과 같습니다.
function _loadScript(url, fn) {
	var head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement),
		script = document.createElement('script');
	head.appendChild(script);
	script.src = url;
	script.charset = 'utf-8';
	script.onload = script.onreadystatechange = function() {
		if (!this.readyState || this.readyState === 'loaded') {
			if (fn) {
				fn();
			}
			script.onload = script.onreadystatechange = null;
			head.removeChild(script);
		}
	};
}

이 세그먼트 코드를 다음 코드로 변경하면 정상적으로 실행됩니다.
function _loadScript(url, fn) {
	var head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement),
		script = document.createElement('script');
	script.src = url;
	script.charset = 'utf-8';
    var done = false;
	script.onload = script.onreadystatechange = function() {
	    if (!done && (!this.readyState ||
	            this.readyState === "loaded" || this.readyState === "complete")) {
	        done = true;
	        if (fn) {
	        	fn();
	        }
	        script.onload = script.onreadystatechange = null;
	        if (head && script.parentNode) {
	            head.removeChild(script);
	        }
	    }
	};
	head.insertBefore(script, head.firstChild);
}

좋은 웹페이지 즐겨찾기