最近、プロジェクトフレームワークを作成し、jQueryMessageBoxクラスを作成して、jQuery UIのダイアログ()を使用してメッセージボックスを表示しています。メソッドを簡単に呼び出すために、UI.JSとUI.CSSが追加されるかどうかを判断するために、自動判断ページが追加されます。コードは次のとおりです。
// ui.jsが含まれていない場合、参照if($( 'script [src $ = "" jquery-ui-ui-1.8.11.custom.min.js "" "]'){$(" "<script src = '/js/jquery-ui-1.8.11.11.custom.min.js' type = '/javas /> ".).AppendTo('head ');}} // cssがロードされていない場合、load($(' link [ref $ = "" jquery-ui-1.8.14.custom.css ""] ')。 rel = "" styleSheet "" type = "" text /css "" /> 'appendto( // dialog()script}}ただし、CSSコードはすぐにロードされないため、ダイアログを表示するときにスタイルはありません(IE9では問題ありません。IE9でダウンロードした後にCSSがダウンロードされても、ページ要素は再描画されますが、IE8は再描画されません)。この問題の解決策は、AJAXを使用して実行できます。 CSSがロードされると、ダイアログが表示されるため、スタイルで表示できます。コードは次のとおりです。
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){int in spection a spection appats append append append appents appent int( type = "text/css"> ' + data.Replace(/url/g、' url(/css/yimase ')</style>')。