麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > HTML > 正文

說說Modernizr的幾點使用方法

2024-08-26 00:18:06
字體:
來源:轉載
供稿:網友

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

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

說說Modernizr的幾點使用方法

一、從應用Modernizr開始

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

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

二、Modernizr.load的使用

1、載入jquery

先來看看官網上關于載入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. }]); 

這段代碼經實際測試使用發現,如果無法正常訪問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時所解析的文件格式存在錯誤,我不知道是不是都會遇到這樣的情況,但這的確影響了使用。在所有中文搜索結果中,沒能發現針對這一現象的說明或研究,個人能力有限,所以也沒法深究。只是從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的文檔說明中,有一節關于ie! Prefix的插件使用介紹。

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

 
  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。這部分內容可以至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的新功能嘗試,而且可以保證在不支持的環境下給出友好的提示。看看以下代碼:

 

 

  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'], //如若支持,載入相關js 
  6. nope: 'css/fallback.css'//否則載入用于友情提醒的相關樣式 
  7. callback : function( url, result, key ) {//回調內容 
  8.  
  9. if( url === 'js/jquery.hoverfold.js' ) { //如果最后載入的js文件路徑一致,則應用 
  10. $( '#grid' ).hoverfold(); 
  11.  
  12. }); 
  13.  
  14. // ]]></script> 

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

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

全文完。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 男男啪羞羞视频网站 | 国产在线1区| 精精国产xxxx视频在线野外 | 亚洲成人在线免费 | 久久久久久久久久亚洲 | 污版视频在线观看 | 欧美日韩精品一区二区三区不卡 | 久久国产亚洲视频 | 91丝袜| 欧美精品一区二区性色 | 日日摸夜夜骑 | 欧美精品99| 成人国产精品齐天大性 | 男男啪羞羞视频网站 | 日本在线高清 | 中文字幕欧美在线 | 成人一级毛片 | 日本成人二区 | 成人免费看片a | av老司机久久 | 美女视频免费一区二区 | 操你视频| 免费毛片电影 | 天堂福利电影 | 男女视频免费看 | 国产一区二区三区四区五区在线 | 国产精品久久久久网站 | 国产精品高潮99久久久久久久 | 久久久线视频 | 特色一级黄色片 | 欧美精品一区二区三区在线 | 成人午夜亚洲 | 国产精品99久久久久久宅女 | 黄色特级视频 | 精品一区二区三区在线观看国产 | 激情久久免费视频 | 午夜视频在线看 | 久久网站热最新地址4 | 嫩呦国产一区二区三区av | 亚洲成人欧美在线 | 日本欧美一区二区 |