国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

說說Modernizr的幾點使用方法

2024-08-26 00:18:06
字體:
供稿:網(wǎng)友

關(guān)于Modernizr的中文介紹已經(jīng)有很多了,可以通過百度或者谷哥搜索一下。也可以去藍色理想上看一看,這篇相對較全面:Modernizr——為HTML5和CSS3而生;

Modernizr除了為HTML5和CSS3提供基礎(chǔ)環(huán)境判定、語義支持外,還有哪些用途呢?今天一起來學一學。

說說Modernizr的幾點使用方法

一、從應(yīng)用Modernizr開始

這部分在“Modernizr——為HTML5和CSS3而生”一文中有詳細的講解,包括Modernizr運行后HTML元素的變化等,建議新同學可以仔細閱讀閱讀。

也可以直接至官方網(wǎng)站http://modernizr.com/docs/進一步了解。

二、Modernizr.load的使用

1、載入jquery

先來看看官網(wǎng)上關(guān)于載入jquery的方法與代碼:

 

 

  1. Modernizr.load([{ 
  2. load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js'
  3. complete: function () { 
  4. if ( !window.jQuery ) { 
  5. Modernizr.load('js/libs/jquery-1.7.1.min.js'); 
  6. }]); 

這段代碼經(jīng)實際測試使用發(fā)現(xiàn),如果無法正常訪問google提供的cdn時,瀏覽器會報錯,信息為

 
  1. GET http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js 404 (Not Found) 
  2. modernizr.custom.js:4Resource interpreted as Image but transferred with MIME type application/x-javascript: "js/libs/jquery-1.7.1.min.js"

由反饋的信息可以看出,Modernizr在重新載入本地jQuery時所解析的文件格式存在錯誤,我不知道是不是都會遇到這樣的情況,但這的確影響了使用。在所有中文搜索結(jié)果中,沒能發(fā)現(xiàn)針對這一現(xiàn)象的說明或研究,個人能力有限,所以也沒法深究。只是從stackoverflow得到了暫時的解決方法,代碼如下:

 

 

  1. <script type="text/javascript">// <![CDATA[ 
  2. Modernizr.load([{ 
  3. load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'
  4. complete: function(){ 
  5. if( !window.jQuery ){ 
  6. Modernizr.load([{ 
  7. load:'js/jquery.min.js'
  8. callback: function(url, result, key){  
  9. //console.log('jquery on local was loaded!'); 
  10. init();  
  11. }]); 
  12. }else
  13. //console.log('jquery on google was loaded!'); 
  14. init(); 
  15. }]); 
  16. function init(){ 
  17. jQuery(document).ready(function(){ 
  18. $('body').prepend('hello world!'); 
  19. }); 
  20. // ]]></script> 

2、針對低版本IE截入PNG圖支持

在yepnopejs的文檔說明中,有一節(jié)關(guān)于ie! Prefix的插件使用介紹。

大多數(shù)時候我們在做前端界面兼容的時候,不得不考慮IE不同版本的細節(jié)調(diào)整,雖然現(xiàn)在高調(diào)強調(diào)拋棄IE6,但仍有大多數(shù)客戶端在使用著這個版本。為了能保證界面的一致性,我們通常能看到下列格式的代碼:

 
  1. <!--[if lt IE 7 ]> <html class="ie6"> <![endif]--> 
  2. <!--[if IE 7 ]> <html class="ie7"> <![endif]--> 
  3. <!--[if IE 8 ]> <html class="ie8"> <![endif]--> 
  4. <!--[if IE 9 ]> <html class="ie9"> <![endif]--> 
  5. <!--[if (gt IE 9)|!(IE)]><!--> <!--<![endif]--> 

這是html中允許的過濾篩選的條件格式語句,通過篩選,我們可以達到針對不同版本的IE進行一些css hacks。這部分內(nèi)容可以至paulirish.com進一步閱讀與學習。

png圖透明的解決方案,有很多很多種,這里針對如何通過modernizr引入解決png透明的js代碼段,進行一些嘗試,具體代碼如下:

 
  1. <script type="text/javascript">// <![CDATA[ 
  2. Modernizr.load([ 
  3. load: 'js/yepnope.ie_prefix.js'//載入yepnope的ie!prefix的插件 
  4. complete: function(){ 
  5. yepnope([{ 
  6. load: 'ielt8!js/ie_png.js'//插件正常載入后才能進行篩選(針對低于IE8版本載入ie_png.js) 
  7. complete: function(){ 
  8. ie_png.fix('img'); 
  9. }]); 
  10. ]); 
  11. // ]]></script> 

這是個有意思的嘗試。

3、判斷瀏覽器對css3或html5的支持

這部分是modernizr的基本特性,利用這些基本特性,我們不僅可以進行css3或html5的新功能嘗試,而且可以保證在不支持的環(huán)境下給出友好的提示。看看以下代碼:

 

 

  1. <script type="text/javascript">// <![CDATA[ 
  2.  
  3. Modernizr.load({ 
  4. test: Modernizr.csstransforms3d &#038;& Modernizr.csstransitions, //判斷當前客戶端是否支持3維變型和漸變過渡 
  5. yep : ['http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js','js/jquery.hoverfold.js'], //如若支持,載入相關(guān)js 
  6. nope: 'css/fallback.css'//否則載入用于友情提醒的相關(guān)樣式 
  7. callback : function( url, result, key ) {//回調(diào)內(nèi)容 
  8.  
  9. if( url === 'js/jquery.hoverfold.js' ) { //如果最后載入的js文件路徑一致,則應(yīng)用 
  10. $( '#grid' ).hoverfold(); 
  11.  
  12. }); 
  13.  
  14. // ]]></script> 

這段代碼截自《3D Thumbnail Hover Effects》中演示文檔里的一段。通過分析和體驗作者制作的教程,我們不僅可以學習到一些關(guān)于modernizr的使用,而且還能體驗到css3的一些強大而又炫麗的效果。

以上內(nèi)容整理得還很粗糙,用意是想以此來學習和了解Modernizr(YepNope)的特性和使用方法,同時也要增強對css3和html5的學習與重視。

全文完。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿拉善盟| 平武县| 施秉县| 民勤县| 陆河县| 措勤县| 阿拉善右旗| 永德县| 卓资县| 安宁市| 齐齐哈尔市| 江源县| 屯昌县| 阜城县| 河南省| 额尔古纳市| 丘北县| 湖北省| 五大连池市| 高淳县| 钦州市| 安吉县| 明溪县| 武邑县| 汤阴县| 石渠县| 喀喇| 柳河县| 芦山县| 凤山县| 维西| 杭锦旗| 道真| 沙湾县| 株洲市| 松滋市| 侯马市| 昌乐县| 星座| 公安县| 察雅县|