크로스 브라우저의 inner HTML 설정 방법, 삽입 코드에script, 스타일 탭 포함 지원
크로스 브라우저의 inner HTML 설정 방법, 삽입 코드에script, 스타일 탭 포함 지원
Mar 23, 02:45 PM by kenxu
많은 사람들이 innerHTML을 사용하여 코드를 삽입할 때 이러한 문제를 겪는다. 코드에 포함된script가 실행될 수 없다.andot는 inner HTML에 삽입된script를 뛰게 하여 좋은 해결 방안을 제시했고 세밀하게 고려했다.브라우저 자체의 특성을 충분히 활용한 또 다른 간단한 해결 방안을 제시한다.
/*
* : innerHTML 。
* html script style。
* :ie5+, firefox1.5+, opera8.5+。
* :kenxu <[email protected]>
* :2006-03-23
* :
* el: dom 。
* htmlCode: html 。 script style。
* :el dom !!!
*/
var setInnerHTML = function (el, htmlCode) {
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
htmlCode = '<div style="display:none">for IE</div>' + htmlCode;
htmlCode = htmlCode.replace(/<script([^>]*)>/gi, '<script$1 defer="true">');
el.innerHTML = htmlCode;
el.removeChild(el.firstChild);
} else {
var el_next = el.nextSibling;
var el_parent = el.parentNode;
el_parent.removeChild(el);
el.innerHTML = htmlCode;
el_next ? el_parent.insertBefore(el, el_next) : el_parent.appendChild(el);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.