<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        怎樣處理Safari移動端對圖片資源進行限制

        來源:懂視網 責編:小采 時間:2020-11-27 20:13:20
        文檔

        怎樣處理Safari移動端對圖片資源進行限制

        怎樣處理Safari移動端對圖片資源進行限制:原文作者:Thijs van der Vossen本文翻譯自《How to work around the Mobile Safari image resource limit》,原文寫于2010年10月25日。可能部分限制已經不再適用。翻譯本文的目的是作為《讀Zepto源碼之assets模塊》的附文,讀Zepto源碼系列
        推薦度:
        導讀怎樣處理Safari移動端對圖片資源進行限制:原文作者:Thijs van der Vossen本文翻譯自《How to work around the Mobile Safari image resource limit》,原文寫于2010年10月25日。可能部分限制已經不再適用。翻譯本文的目的是作為《讀Zepto源碼之assets模塊》的附文,讀Zepto源碼系列
        原文作者:Thijs van der Vossen

        本文翻譯自《How to work around the Mobile Safari image resource limit》,原文寫于2010年10月25日。可能部分限制已經不再適用。

        翻譯本文的目的是作為《讀Zepto源碼之assets模塊》的附文,讀Zepto源碼系列文章已經放到了github上,歡迎star: reading-zepto

        正文開始:

        受限于 IpadIphone 的可用內存,Safari 瀏覽器的移動端會比桌面端有著更嚴格的資源使用限制

        其中之一是每個 HTML 頁面的圖片數據總量。當移動端的 Safari 瀏覽器加載了 810MB 的圖片數據后,就會停止加載其他圖片,甚至瀏覽器還會崩潰。

        大多數網站都不會受到這條限制的影響,因為保持頁面合理的大小通常是一種很聰明的做法。

        但是,在下面的場景中,你可能會遇到麻煩,如大型的圖片畫廊和幻燈片,或者是異步加載新數據的 web 應用,例如模擬不同版塊切換時的原生動畫(是的,你可以用移動端 Safari 模擬 Flipboard 的切換效果 )。

        我們有充足的理由相信,只通過刪除不再需要的圖片元素,就可以不受這條限制的影響:

        var img = document.getElementById('previous');
        img.parentNode.removeChild(img);

        但是然并卵,因為某些原因,將圖片從 DOM (或者一個包含圖片的元素)中刪除時,圖片的真實數據并沒有釋放。真是頭大啊!

        而將圖片的 src 屬性設置為其他的(更小的)圖片鏈接,卻起到了作用。

        var img = document.getElementById('previous');
        img.src = 'images/empty.gif';

        替換掉 src 屬性后,舊的圖片數據最終得到了釋放。

        我已經徹底測試過這種方法,下面幾個方面是需要注意的:

        1. src 屬性設置為其他圖片后,圖片數據不會立即釋放,需要一段時間讓垃圾回收器來真正地釋放內存。這意味著,如果你太塊地插入圖片,依舊可能會陷入麻煩中。

        2. 在移動端 Safari 觸發限制后,即便刪除一部分或者全部已經加載的數據,Safari 也不會再加載額外的圖片,這種情況即便在切換到其他頁面時也繼續存在。這意味著在測試這項技術時,你需要經常重啟 Safari(這差點把我逼瘋了)。

        3. 如果你想將圖片元素從 DOM 中刪除,你還必須確保在更改 src 前,元素不能為垃圾回收掉,否則,舊圖片數據不會被釋放。下面這個是最好的解決方案:

        var img = document.getElementById('previous');
        img.parentNode.removeChild(img);
        img.src = 'data:image/gif;base64,' + 
         'R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';
        window.timeout(function() {img = null;
        }, 60000);

        你可以看到,我使用了 data URI 作為替換圖片。

        (如果你只是刪除圖片元素, iPad 在加載8張圖片后會停止繼續加載,如果用 Zeptoassets 插件,會持續加載。)

        在上周我和 Thomas Fuchs 解釋了這項技術后,他立即將它加入了 Zepto 中。這個周末,我貢獻了一個測試函數,你可以自己用它來測試下。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        怎樣處理Safari移動端對圖片資源進行限制

        怎樣處理Safari移動端對圖片資源進行限制:原文作者:Thijs van der Vossen本文翻譯自《How to work around the Mobile Safari image resource limit》,原文寫于2010年10月25日。可能部分限制已經不再適用。翻譯本文的目的是作為《讀Zepto源碼之assets模塊》的附文,讀Zepto源碼系列
        推薦度:
        標簽: 圖片 資源 safari
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 老司机午夜在线视频免费观| 国产在线19禁免费观看| 国产午夜亚洲不卡| 亚洲导航深夜福利| 成在线人直播免费视频| 啊v在线免费观看| 成人免费视频一区二区| 国产精品亚洲二区在线观看| 亚洲依依成人亚洲社区| 黄色成人网站免费无码av| 亚洲一区二区三区免费| 亚洲最大的成人网| 可以免费观看的国产视频| 亚洲综合在线视频| 黄色视频在线免费观看| 亚洲熟女少妇一区二区| 免费人成网站在线观看不卡| 亚洲成人午夜电影| 日韩人妻无码免费视频一区二区三区| 亚洲尹人香蕉网在线视颅| 美丽的姑娘免费观看在线播放 | 亚洲a级在线观看| www免费插插视频| 成年女人午夜毛片免费看| 久久久久亚洲av无码专区| 中文字幕乱理片免费完整的| 又粗又大又猛又爽免费视频| 亚洲免费黄色网址| 一级毛片在线完整免费观看| 国产成人亚洲精品青草天美| 免费无码婬片aaa直播表情| 亚洲熟妇无码另类久久久| 黄页网站在线观看免费| 亚洲国产精品一区二区成人片国内 | 亚洲情XO亚洲色XO无码| 国产男女爽爽爽爽爽免费视频| 久久国产精品亚洲一区二区| 黄色毛片视频免费| 日韩高清在线免费看| 最新国产精品亚洲| 91成人免费观看网站|