jquery動態載入css樣式 瀏覽器安全色處理

來源:互聯網
上載者:User

個比較嚴重的bug:在IE6、IE7下,驗證提示的樣式檔案載入不進來。
於是今天早上針對這個bug,測試了好多次,仍然不行,最後才發現原來是因為用jquery的方法動態載入css教程樣式檔案,存在相容問題。

在jquery.skygqCheckAjaxform.1.3.js檔案中原來動態載入css檔案的代碼是這樣的:

//載入css樣式
if ($("link[href$=valid.css]").length == 0){
 $('
<LINK href="'+settings.root+'css/valid.css" type=text/css rel=stylesheet>').appendTo("head");
}

用這種方法在Firefox下和IE8下是不存在問題的~但是在IE6和IE7下,樣式檔案不起作用,於是作了如下的修改:

//載入css樣式

if ($("link[href$=valid.css]").length == 0){
 var css_href = settings.root+'css/valid.css';
 var styleTag = document.createElement("link");
 styleTag.setAttribute('type', 'text/css');
 styleTag.setAttribute('rel', 'stylesheet');
 styleTag.setAttribute('href', css_href);
 $("head")[0].appendChild(styleTag);
}

上面的代碼,是用原生的網頁特效方法建立了 元素,最後也是用原生的javascript的appendChild的方法將這個動態建立的link元素添加到了head元素中。

經過測試,上面的代碼具備相容IE6、IE7、IE8、Firefox瀏覽器的,其他的瀏覽器沒有測試~如果有人發現在其他的瀏覽器上還有問題,也請能告訴我

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.