cssのロードが完了すると、ページにcssまたはjsファイルが追加されているかどうかを自動的に判断します.

1328 ワード

最近、プロジェクトを書くframeworkでJQueryMessageBoxのクラスを書いて、jquery uiのdialog()を使ってメッセージボックスを表示し、メソッドの呼び出しを容易にするために、自動判断ページがuiに入ったかどうかを判断する.jsとui.css、コードは以下の通りです.

//      ui.js,    
if ($('script[src$=""jquery-ui-1.8.11.custom.min.js""]').length == 0) {{ 
$("""").appendTo('head'); 
}} 
//      css,    
if ($('link[ref$=""jquery-ui-1.8.14.custom.css""]').length == 0) {{ 
$('').appendTo('head'); 

//dialog() script 
}}

しかし、CSSコードはすぐにロードすることはないので、dialogを する にはスタイルはありません(IE 9では ですが、IE 9でCSSをダウンロードしてもページ を しますが、IE 8ではできません).この を する はajaxを して、cssのロードが わった にdialogを して、このようにスタイルを って することができて、コードは の りです:

if ($('link[ref$=""jquery-ui-1.8.14.custom.css""]').length == 0) { 
$.ajax({ 
url: '/css/jquery-ui-1.8.14.custom.css', 
success: function(data) { 
//    style  ,    head  
//    images    
$('').appendTo('head'); 
//dialog() script; 
} 
}); 
} 
else { 
//dialog() script; 
}