>웹 프론트엔드 >JS 튜토리얼 >정규 표현식을 사용하여 IE firefox_javascript 팁과 호환되는 CSS 스타일 스크립트를 동적으로 생성/추가

정규 표현식을 사용하여 IE firefox_javascript 팁과 호환되는 CSS 스타일 스크립트를 동적으로 생성/추가

WBOY
WBOY원래의
2016-05-16 18:55:291311검색

str은 ajax를 통해 반환된 XMLRequest를 나타냅니다.
/*동적 로딩 CSS 스타일*/
function loadStyle(str)
{
var regExp_src=/[^]**> /gi;
var matchArray_src=str.match(regExp_src);
alert(matchArray_src[0])
if(matchArray_src){
for(var i=0;i{alert("sss");
var str_temp = matchArray_src[i].toString()
var regExp_src_temp = /[^]**> / gi;
str_temp.match(regExp_src_temp);/*여기서 일치를 반복적으로 사용하는 이유는 $1 하위 표현식이 현재 값을 가리키고 그렇지 않으면 항상 마지막 $1 값이 되기 때문입니다*/
var head = document.getElementsByTagName('head')[0];
/*IE*/
if(document.all){
alert("IE")
if(document.getElementsByTagName(' style' )[0])
{
var sty=document.getElementsByTagName('style')[0].innerHTML;
alert(sty);
var sty = document.getElementsByTagName(' style' )[0].innerHTML;//IE의 현재 스타일 태그를 가져오는 방법을 모르겠습니다. getElementsByTagName을 사용할 수 없습니다. 이 전략을 채택하고 새 스타일을 추가할 수만 있습니다. 이전 스타일
var styleSheet = document.createStyleSheet();
styleSheet.cssText=sty RegExp.$1;
}
else
{
var styleSheet = document.createStyleSheet();
styleSheet.cssText=" body{배경:red;}
"
alert("finished")
}
}
/*FIREFOX*/
else{
var 스타일;
if(document.getElementsByTagName('style')[0])
{
var sty=document.getElementsByTagName('style')[0].innerHTML; 경고(sty);
document.getElementsByTagName('style')[0].innerHTML=sty RegExp.$1;
}
else
style=document.createElement('style'); 🎜>style.type = 'text /css';
style.innerHTML=RegExp.$1;
head.appendChild(style)
alert(RegExp.$1)
}
}
}
/*src 속성을 사용한 스크립트의 동적 로드*/
function loadScript_src(str){
var regExp_src=/
[^
]*
/gi;
var matchArray_src=str.match(regExp_src); if(matchArray_src) { *>for(var i=0;i {
var str_temp = matchArray_src [i].toString();
var regExp_src_temp = /
[^]*
/gi;
str_temp.match(regExp_src_temp); 🎜>var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script') script.type = 'text/javascript'; src = RegExp.$1; *>script.defer="true";
head.appendChild(script)
alert(RegExp.$1)
}
} 🎜>/*innerHTML 스크립트의 동적 로딩*/
function loadScript(str){
var regExp_function=/
]*>([sS]*?)
/gi
var; matchArray_function=str.match(regExp_function );
if(matchArray_function){
for(var i=0;ivar str_temp=matchArray_function[i].toString() ;//실제로는 정규식입니다. 앞뒤로 검색하면 매우 편리하지만 자바스크립트는 지원하지 않으므로 최후의 수단만 취할 수 밖에 없습니다.
var regExp_function_temp=/
]*>([sS ]*?)<script>/gi </script>[s]*>var matchArray_temp=str_temp.match(regExp_function_temp);
eval(RegExp.$1)
}
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.