• <center id="sm46c"></center>
  • <dfn id="sm46c"></dfn>
  • <strike id="sm46c"></strike>
  • <cite id="sm46c"><source id="sm46c"></source></cite>
    • <strike id="sm46c"><source id="sm46c"></source></strike>
      <option id="sm46c"></option>
      国产精品天天看天天狠,女高中生强奷系列在线播放,久久无码免费的a毛片大全,国产日韩综合av在线,亚洲国产中文综合专区在,特殊重囗味sm在线观看无码,中文字幕一区二区三区四区在线,无码任你躁久久久久久老妇蜜桃

      了解HTML/HTML5中的download屬性

      2016-9-1    藍藍設計的小編

      如果您想訂閱本博客內容,每天自動發到您的郵箱中,?請點這里 

      一、download屬性是個什么鬼?

      首先看下面這種截圖

      1.png

       

      如果我們想實現點擊上面的下載按鈕下載一張圖片,你會如何實現?

      我們可能會想到一個最簡單的方法,就是直接按鈕a標簽鏈接一張圖片,類似下面這樣:

      <a href="large.jpg">下載</a>

      但是,想法雖好,實際效果卻不是我們想要的,因為瀏覽器可以直接瀏覽圖片,因此,我們點擊下面的“下載”鏈接,并是不下載圖片,而是在新窗口直接瀏覽圖片。

      下載

      看我的眼睛,

      2.gif

       

      于是,基本上,目前的實現都是放棄HTML策略,而是使用,例如php這樣的后端語言,通過告知瀏覽器header信息,來實

      header('Content-type: image/jpeg');
      header("Content-Disposition: attachment; filename='download.jpg'");
       

      然而,這種前后端都要操心的方式神煩,現在都流行前后端分離,還攪在一起太累了,感覺不會再愛了。

      那有沒有什么只需要前端動動指頭就能實現下載的方式呢?有,就是本文要介紹的download屬性。

      例如,我們希望點擊“下載”鏈接下載圖片而不是瀏覽,直接增加一個download屬性就可以:

      <a href="large.jpg" download>下載</a>
       

      沒錯,你沒有看錯,就這么結束了,不妨點擊后面的鏈接試試:下載

      結果在Chrome瀏覽器下(FireFox瀏覽器因為跨域限制無效):

      不僅如此,我們還可以指定下載圖片的文件名:

      <a href="index_logo.gif" download="_5332_.gif">下載</a>
       

      如果后綴名一樣,我們還可以缺省,直接文件名:

      <a href="index_logo.gif" download="_5332_">下載</a>
       

      截圖為虛,操作為實:下載

      Chrome下的截圖效果示意:

      5.png


       

      一個大寫的酷里!

      二、瀏覽器兼容性和跨域策略

      然而,caniuse展示的兼容性只是個籠統,根據鄙人的實地測試,事情要比看到的復雜。

      主要表現在跨域策略的處理上,由于我手上沒有IE13,所以,只能對比Chrome瀏覽器和FireFox瀏覽器:

      如果需要下載的資源是跨域的,包括跨子域,在Chrome瀏覽器下,使用download屬性是可以下載的,但是,并不能重置下載的文件的命名;而FireFox瀏覽器下,則download屬性是無效的,也就是FireFox瀏覽器無論如何都不支持跨域資源的download屬性下載。

      而,如果資源是同域名的,則兩個瀏覽器都是暢通無阻的下載,不會出現下載變瀏覽的情況。

      7.png


       

      是否支持download屬性的監測
      要監測當前瀏覽器是否支持download屬性,一行JS代碼就可以了,如下:

      var isSupportDownload = 'download' in document.createElement('a');
       

      三、結束語

      除了圖片資源,我們還可以是PDF資源,或者txt資源等等。尤其Chrome等瀏覽器可以直接打開PDF文件,使得此文件格式需要download處理的場景越來越普遍。

      此HTML屬性雖然非常實用和方便,但是兼容性制約了我們的大規模應用。

      同時考慮到很多時候,需要進行一些下載的統計,純前端的方式想要保存下載量數據,還是有些吃緊,需要跟開發的同學配合才行,還不如使用傳統方法。

      所以,download屬性的未來前景在哪里?當下是否可以直接加入到實際項目?還需要我們一起好好想想。其實使用JS實現download屬性的polyfill并不難,但是,考慮到為何不所有瀏覽器都使用polyfill的方法,又覺得為了技術而技術是不太妥當的。

      總之,先放著心上,再觀察觀察。

       

      藍藍設計www.li-bodun.cn?)是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計? cs界面設計?、 ipad界面設計?、 包裝設計?、 圖標定制?、 用戶體驗 、交互設計、?網站建設?、平面設計服務 

       

      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://www.li-bodun.cn

      存檔

      主站蜘蛛池模板: 无码国产精品一区二区免费式影视| 国产精品内射在线免费看| 午夜精品久久久久久久2023| 亚洲国产综合精品2020| 国产亚洲第一午夜福利合集| 精品国产粉嫩内射白浆内射双马尾| 好吊视频一区二区三区在线| 国产精品欧美福利久久| 国产99视频精品免费专区| 国产日韩精品中文字无码| 亚洲成在人线视av| 久久国产亚洲高清观看5388 | 男受被做哭激烈娇喘gv视频| 亚洲日韩乱码一区二区三区四区| 国偷自产一区二区三区在线视频 | 99精品在线视频观看| 色综合激情网| 欧美二区视频| AV无码国产在线看免费网站| 亚洲色精品aⅴ一区区三区| 亚洲一二三区精品美妇| 精品在线一区| 国产熟女50岁一区二区| av东京热无码专区| 亚洲国产成人a精品不卡在线| 激情一区二区三区成人文| 国产色系视频在线观看| 亚洲一区久久蜜臀av| 亚洲国产午夜精品福利| 精品国产一区二区三区卡| 亚洲综合伊人久久大杳蕉| 欧美性黑人极品hd| 日韩中文字幕国产精品| 国产成人av无码永久免费一线天 | 久久国产成人av蜜臀| 国产人妻无码一区二区三区18| a级国产乱理伦片在线观看al| 国产一区二区三区麻豆视频 | 亚洲精品一区二区三区蜜臀| 久久婷婷五月综合色国产免费观看| 国产第一福利影院|