Recentemente, estou escrevendo uma estrutura de projeto e escrevendo uma classe jQueryMessageBox para usar a caixa de diálogo () na interface do usuário do jQuery para exibir a caixa de mensagens. Para facilitar a chamada do método, uma página de julgamento automática é adicionada para determinar se o UI.JS e o UI.CSS são adicionados. O código é o seguinte:
//If ui.js is not included, reference if ($('script[src$=""jquery-ui-1.8.11.custom.min.js""]').length == 0) {{ $(""<script src='/js/jquery-ui-1.8.11.custom.min.js' type='text/javascript' />" ).appendto('head ');}} // Se CSS não estiver carregado, carregue se ($ (' link [ref $ = "" jQuery-ui-1.8.14.custom.css ""] '). lengy == 0) {{$ (' <link href = ""/css/jQuery-s/jQuery-i) {{$ ('<link href = "" "/css/jQuery-s/jQuery-s) rel = "" STILESHET "" TIPO = "" Texto /CSS "" />').appendto('head ');No entanto, o código CSS não será carregado imediatamente; portanto, não haverá estilo ao exibir a caixa de diálogo (está tudo bem no IE9, porque mesmo que o CSS seja baixado após o download no IE9, os elementos da página serão redesenhados, enquanto o IE8 não). A solução para esse problema pode ser feita usando o AJAX. Quando o CSS é carregado, a caixa de diálogo será exibida, para que possa ser exibida com o estilo. O código é o seguinte:
if ($ ('link [ref $ = "" jQuery-ui-1.8.14.custom.css ""]'). length == 0) {$ .ajax ({url: '/css/jquery-ui-1.8.14.custom.css', function: function (data) {/ Crie um estilo type = "text/css"> ' + data.replace (/url/(imagens/g,' url (/css/imagens ') +' </style> ').