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瀏覽器的,其他的瀏覽器沒有測試~如果有人發現在其他的瀏覽器上還有問題,也請能告訴我

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.