天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

圖像替換新技術 狀態域方法

參看Dave Shea's excellent summary ,Paul Young 在分析現存的所有方法的優缺點之后,提出了一種新的方法,并將其命名為“狀態域方法”(The StateMethod),本文將詳細介紹該方法的原理:

該方法檢查圖片是否禁用,并不是請求服務器上的圖片,因為那樣會導致一次額外的http請求。作者創建了一個巧妙的方法。

在大多數瀏覽器中,Image對象可以實例化并追溯到一個無效的URL(http://0),這樣很容易檢測Image的狀態。如果禁用,onerror事件將觸發,在js文件的開頭,j建立一個新的圖像對象:

var img = new Image();

但是,有兩個古怪的瀏覽器對此方法并不兼容。在Gecko瀏覽器中,不論Image是否被禁用。Onerror事件總是 被觸發。所幸的是,另外一種可行的方案可以解決此問題--給html元素附加一個無效的背景圖片,然后通過getComputedStyle方法獲得 style屬性。如果Image禁用,其屬性為none或url(invalid-url:):

 if (img.style.MozBinding != null)
 {
   img.style.backgroundImage = "url(" +document.location.protocol + "http://0)";
   var bg = window.getComputedStyle(img,'').backgroundImage;

   if (bg != "none" && bg !="url(invalid-url:)" || document.URL.substr(0, 2) == "fi")
   {
    document.enableStateScope("images-on", true);
   }
 }

另外一個富有挑戰性的瀏覽器是safari,如果請求是一個無效的URL,safari的狀態欄將出現錯誤提示,但頁面 布局不受任何影響。如果用戶的狀態欄處于開啟狀態,報錯將一直持續,這很不專業,同樣,作者研究了另外一種可行的方案。如果Image來自于1*1的 gif圖像,且被數據編碼。如果Image禁用,其寬度將為0,以下為在safari中測試的情況:

 else
 {
   img.style.cssText ="-webkit-opacity:0";
   if (img.style.webkitOpacity == 0)
   {
     img.onload = function()
     {
      document.enableStateScope("images-on", img.width > 0);
     }
     img.src = 
      "data:image/gif;base64," +
      "R0lGODlhAQABAIAAAP///wAAACH5BAE" +
      "AAAAALAAAAAABAAEAAAICRAEAOw==";
   }
}

最后,對于其它瀏覽器,在開始初始化Image對象時,僅僅需要測試onerror觸發事件。

   else
   {
     img.onerror = function(e)
     {
      document.enableStateScope("images-on", true);
     }
     img.src = "about:blank";
   }

狀態域是可以切換的

可以創建一個系統讓用戶在文本和替代圖像之間切換。

查看示例(示例文件由Paul Young提供)

class屬性添加到html之上而不是body或其它子元素之上,主要原因在于在圖像替換之前,body需要全面加載。如果“image-on”不添加到html之上。當狀態域啟用時,將會出現閃動。

圖像替換技術是css中相當重要的一部分。鑒于現存圖像替換技術的缺點,作者花大量時間另辟蹊徑,方法獨到,值得借鑒。

示例下載:tate-scope-image-replacement.zip

翻譯原文:http://www.denisdeng.com/?p=235

英文原文:http://www.sitepoint.com/article/image-replacement-state-scope/

JavaScript技術圖像替換新技術 狀態域方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 宝贝乖女好紧好深好爽老师 | 国产看黄网站又黄又爽又色 | 97在线国内自拍视频 | 人人草人人草 | 精品久久久久久久久免费影院 | 日韩美女爱爱 | 18禁无遮遮挡羞漫画免费阅读 | 少妇高潮惨叫久久久久久欧美 | 成年人在线视频免费观看 | 亚洲电影二区 | 国产午夜精品一区二区理论影院 | 国产精品久久大陆 | 久久久久久久久女黄9999 | 果冻传媒在线观看高清完整免费 | 亚洲国产AV精品卡一卡二 | a久久99精品久久久久久蜜芽 | tobu中国日本高清 | 免费国产成人高清在线看软件 | 午夜亚洲精品不卡在线 | 91在线一区二区 | 寂寞夜晚视频在线观看 | 99riav9 精品香蕉免费大视频 | 樱桃视频高清免费观看在线播放 | 永久免费的无码中文字幕 | 精油按摩日本 | 久久中文字幕无码A片不卡 久久中文字幕人妻熟AV女蜜柚M | 国产精品无码无卡毛片不卡视 | 狠狠色丁香婷婷久久综合 | 姑娘日本大全免费观看版中文翻译 | 18禁黄久久久AAA片 | 久久国产露脸老熟女熟69 | 国产在线视频一区二区不卡 | 2020亚洲国产在线播放在线 | 52av我爱 | 51国产偷自视频在线视频播放 | 2022国产麻豆剧传媒剧情 | 村妇偷人内射高潮迭起 | 国产Av影片麻豆精品传媒 | 古代又黄又肉到湿的爽文 | 手机看片国产免费 | 亚洲视频欧美在线专区 |