다음 코드는 IE8에서는 성공적으로 실행되지만 IE9에서는 실패합니다. 코드 복사 코드는 다음과 같습니다. document.createElement(''); 오류 메시지: 예외: SCRIPT5022: DOM 예외: INVALID_CHARACTER_ERR (5) 아이디어 분석: 1단계: IE9, Firefox, Opera, Safari 및 기타 브라우저와 호환됩니다. 코드 복사 코드는 다음과 같습니다. var iframe = document.createElement("iframe"); iframe.setAttribute("id", "yui-history-iframe");iframe.setAttribute("src", "../../images/defaults/transparent-pixel.gif"); iframe.setAttribute("style","position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;"); 2단계: IE6-8과 호환: ie6-8은 iframe의 이름 속성을 수정할 수 없기 때문입니다. 코드 복사 코드는 다음과 같습니다. var oFrame = isIE ? document.createElement("") : document.createElement ("iframe") ;oFrame.name = "iframName"; 종합 솔루션: 코드 복사 코드는 다음과 같습니다. var isIE = (document.all) ? true: false; //这里仅仅简单的对是否是IE进行判断,详细浏览器判断:请参考浏览器类型侦测var ua = navigator.userAgent.toLowerCase().match(/msie ([/d.] + ) / )[1];if (ua == "9.0") { isIE = false;}var oFrame = isIE ? document.createElement("") : document.createElement("iframe");oFrame.name = "iframName";//=========================function ajaxpost(formid, showid, waitid, showidclass, submitbtn, 회상) { var waitid = typeof waitid == 'undefine' || waitid === null ? showid : (waitid !== '' ? waitid : ''); var showidclass = !showidclass ? '' : showidclass; var ajaxframeid = 'ajaxframe'; var ajaxframe = $(ajaxframeid); var formtarget = $(formid).target; var handlerResult = function( ) { var s = ''; var evaled = false; showloading('none'); 시도 { s = $(ajaxframeid).contentWindow.doc 요소 .XMLDocument.text; } catch (e) { 시도 { s = $(ajaxframeid).contentWindow.document.documentElement.firstChild.wholeText; } 잡기 (e) { { s = $(ajaxframeid).contentWindow.document.documentElement.firstChild.nodeValue; } 캐치(e) s = '内부분错误,无法显示此内容'; } } } if (s != '' && s.indexOf('ajaxerror') != -1) { 평가 스크립트 평가됨 = true; } if (showidclass) { $(showid).className = showidclass; if (submitbtn) { submitbtn.disabled 거짓; } } if (!evaled && (ajaxerror 유형 == '정의되지 않음' || !ajaxerror)) { ajaxinnerhtml($(showid), s); } ajaxerror = null; if ($(formid)) $(formid).target = formtarget; if (typeof Recall == 'function') { reflect (); } else { if (! Evaled) evalscript (s); ajaxframe.loading = 0; $('append_parent').removeChild(ajaxframe); }; if (!ajaxframe) { 시도 { ajax 프레임 = 문서. createElement(''); } catch (e) { ajaxframe = document.createElement('iframe '); ajaxframe.name = ajaxframeid; ajaxframe.id = ajaxframeid; } ajaxframe.style.display = 'none'; ajaxframe. 로딩 = 1; $('append_parent').appendChild(ajaxframe); } else if (ajaxframe.loading) { return false; } _attachEvent(ajaxframe, 'load', handlerResult); showloading(); $(formid).target = ajaxframeid; $(formid).action = ' &inajax=1'; $(formid).submit(); return false;}