ホームページ >ウェブフロントエンド >jsチュートリアル >正規表現を使用して、IE と互換性のある CSS スタイル スクリプトを動的に作成/追加する firefox_javascript のヒント

正規表現を使用して、IE と互換性のある CSS スタイル スクリプトを動的に作成/追加する firefox_javascript のヒント

WBOY
WBOYオリジナル
2016-05-16 18:55:291311ブラウズ

str は、ajax を通じて返された XMLRequest を表します
/*動的読み込み CSS スタイル*/
functionloadStyle(str)
{
var regExp_src=/[^]**> /gi;
var matchArray_src=str.match(regExp_src);
alert(matchArray_src[0]);
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{background: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;
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"; alert(RegExp.$1); } *>/*innerHTML スクリプトの動的読み込み*/
functionloadScript(str){
var regExp_function=/
]*>([sS]*?)
/gi; matchArray_function=str.match(regExp_function );
if(matchArray_function){
for(var i=0;ivar str_temp=matchArray_function[i].toString() ;//実際には正規表現です。前後方向の検索は非常に便利ですが、JavaScript ではサポートされていないため、この最後の手段を選択するしかありません。
var regExp_function_temp=/
]*>([sS ]*?)
/gi ;
var matchArray_temp=str_temp.match(regExp_function_temp);
}
}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。