整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML5創作工具MAKA 試用體驗

          HTML5創作工具MAKA 試用體驗

          段時間參加了新媒體排行榜和MAKA 聯合做的一個活動,有幸獲贈據說價值6萬的MAKA 旗艦版一套,也因此有了第一個自己制作的 HTML5頁面。

          記得之前也曾經用一些HTML5制作工具,但是因為相對較為復雜的操作和沒有合適的模板而放棄了,對于設計小白如我來說,能夠在既定的模板上進行修改已經是極限了。

          試用 MAKA 之后,感覺操作比較簡單,而且模板庫比較豐富,或許是機緣巧合,剛好有一個模板特別適合我之前寫的文章——《2014過去了,我們很懷念它》。

          作為旗艦版用戶,除了基本的功能之外,還可以享受獨立服務器、更多免費模板、素材和動態特效模板。不過,我最喜歡的,是 MAKA 提供的專屬尾頁。

          所謂專屬尾頁,有點像是之前在 WordPress 寫獨立博客時候時的相關文章插件,可以在頁尾以圖文的形式展示你過去的一些精彩文章。

          這樣做的好處顯而易見,如果你制作的 HTML5頁面借助微信朋友圈得到廣泛的傳播,那么用戶就可以直接通過這些鏈接進去閱讀和關注你的公眾號。

          討厭 FLASH 的喬布斯在某種程度上普及了HTML5技術,Facebook押注HTML5上,卻受到不小的打擊,導致在后來一段時間里,唱衰HTML5的言論成為媒體的一種幸災樂禍的態度,人人避而不談。

          然而,微信通過公眾號的形式,以游戲、營銷重新煥發出HTML5的青春,而MAKA 等第三方 HTML5制作工具又讓普通用戶制作 HTML5頁面變得簡便。盡管現在我們還不知道HTML5應用將來是否真的能夠完全替代原生APP,但, 至少,它給我們帶來了更方便更精彩的選擇。

          望月是 WeMedia 聯盟成員,閱讀原文是我制作的第一個 HTML5頁面,獻給這些年,我們一起度過的時光。

          者:明明如月

          審校:藍色漂流瓶


          本文講的是啥?

          本文為你提供一篇HTML5基本布局模板示例。你可以直接拷貝,粘貼到你的HTML文件中并對其進行修改。

          好,說實話,這個本是為我自己準備的html5布局模板,但是你可以拿來用。

          譯者注:由于無法直接粘貼代碼,需要的親直接進入尾部提供的鏈接,拷貝下來即可。

          雖然本文比較簡單(噴子止步),但是還是一個不錯的模板,可以存起來,或者參考一下人家的結構。

          基本的HTML5 模板布局模板:

          代碼如下:

          圖片格式

          帶頭部、尾部和導航的基本的HTML5布局模板

          圖片格式


          英文源:http://www.codeshare.co.uk/blog/basic-html5-template-layout-example/

          在 HTML 文檔中 <input type="file"> 標簽每出現一次,一個 FileUpload 對象就會被創建。

          該元素包含一個文本輸入字段,用來輸入文件名,還有一個按鈕,用來打開文件選擇對話框以便圖形化選擇文件。

          該元素的 value 屬性保存了用戶指定的文件的名稱,但是當包含一個 file-upload 元素的表單被提交的時候,瀏覽器會向服務器發送選中的文件的內容而不僅僅是發送文件名。

          當用戶選擇或編輯一個文件名,file-upload 元素觸發 onchange 事件句柄。

          看個簡單例子:

          [html]view plaincopy

          <!--?oscar999??-->??
          <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">??
          <html>??
          ??<head>??
          ??<meta?http-equiv="content-type"?content="text/html;?charset=utf-8">??
          ??<meta?name="author"?content="oscar999">??
          ??<title></title>??
          ??<script>??
          ??function??handleFiles(files)??
          ??{??
          ????if(files.length)??
          ????{??
          ???????var?file?=?files[0];??
          ???????var?reader?=?new?FileReader();??
          ???????reader.onload?=?function()??
          ???????{??
          ???????????document.getElementById("filecontent").innerHTML?=?this.result;??
          ???????};??
          ???????reader.readAsText(file);??
          ????}??
          ??}??
          ??</script>??
          ??</head>??
          ??<body>??
          ??<input?type="file"?id="file"?onchange="handleFiles(this.files)"/>??
          ??<div?id="filecontent"></div>??
          ??</body>??
          </html>??

          這里讀取一個文件, 顯示在div 中。

          (在IE8 中 無效, this.files 無法讀取文件。這個屬于HTML5 的特性)

          當選擇了一個文件時,就會把包含這個文件的列表(一個FileList對象)作為參數傳給handleFiles()函數了。這個FileList對象類似一個數組,可以知道文件的數目,而它的元素就是File對象了。從這個File對象可以獲取name、size、lastModifiedDate和type等屬性。把這個File對象傳給FileReader對象的讀取方法,就能讀取文件了。



          HTML5 Drag and Drop File

          Html5 支持的File 的操作不僅僅是文件的選擇,

          在HTML5 之前需要使用 Applet 和 SilverLight 才能達到的文件拖拽功能,在HTML5 中也能輕松的實現,

          看代碼:

          [html]view plaincopy

          <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">??
          <html>??
          ??<head>??
          ??<meta?http-equiv="content-type"?content="text/html;?charset=utf-8">??
          ??<meta?name="author"?content="oscar999">??
          ??<title></title>??
          ??</head>??
          ??<body>??
          ????<div?id="dropbox">?Drop?Here?</div>??
          ????<div?id="filecontent"></div>??
          ????<script>??
          ??????var?dropbox?=?document.getElementById("dropbox");????
          ??????dropbox.addEventListener("dragenter",?dragenter,?false);????
          ??????dropbox.addEventListener("dragover",?dragover,?false);????
          ??????dropbox.addEventListener("drop",?drop,?false);?????
          ????function?dragenter(e)?{????
          ????????e.stopPropagation();????
          ????????e.preventDefault();????
          ????}????
          ????function?dragover(e)?{????
          ????????e.stopPropagation();????
          ????????e.preventDefault();????
          ????}??
          ????function?drop(e)?{????
          ????????e.stopPropagation();????
          ????????e.preventDefault();?????
          ????????var?dt?=?e.dataTransfer;????
          ????????var?files?=?dt.files;??
          ????????if(files.length)??
          ????????{??
          ???????????var?file?=?files[0];??
          ???????????var?reader?=?new?FileReader();??
          ???????????reader.onload?=?function()??
          ???????????{??
          ???????????????document.getElementById("filecontent").innerHTML?=?this.result;??
          ???????????};??
          ???????????reader.readAsText(file);??
          ????????}??
          ????}???
          ????</script>??
          ??</body>??
          </html>??

          這里通過事件對象的 dataTransfer 可以得到文件。



          讀取文件內容

          在第一個例子中, 我們使用 FileReader類來讀取文件的內容,

          在 W3C 草案中,File 對象只包含文件名,文件類型等只讀屬性;FileReader用于內容讀取和監控讀取狀態。

          (在firefox 中, 可以直接使用 var fileBinary=file.getAsBinary(); 讀取文件的二進制源碼)

          FileReader提供的方法包括:

          1. readAsBinaryString

          2. readAsDataURL

          3. readAsText

          4. abort

          .........


          以下,舉一個 使用 FileReader 將用戶選擇的圖片不通過后臺即時顯示出來的例子。

          [html]view plaincopy

          function?handleFiles(files){??
          ????for?(var?i?=?0;?i?<?files.length;?i++)?{??
          ????????var?file?=?files[i];??
          ????????var?imageType?=?/image.*/;??
          ????????if?(!file.type.match(imageType))?{??
          ????????????continue;??
          ????????}??
          ????????var?img?=?document.createElement("img");??
          ????????img.classList.add("obj");??
          ????????img.file?=?file;??
          ????????preview.appendChild(img);??
          ????????var?reader?=?new?FileReader();??
          ????????reader.onload?=?(function(aImg){??
          ????????????return?function(e){??
          ????????????????aImg.src?=?e.target.result;??
          ????????????};??
          ????????})(img);??
          ????????reader.readAsDataURL(file);??
          ????}??
          }??



          同后端的交互

          在一般的HTML 中,使用方式是把file input 放在form 中, 以POST 方式把文件傳遞到后端。

          在 HTML5 中, 也可以通過 FileReader 的 readAsBinaryString 方法讀取到文件的二進制碼,然后通過 XMLHttpRequest 的 sendAsBinary 方法將其發送出去。

          [javascript]view plaincopy

          var?xhr?=?new?XMLHttpRequest();??
          xhr.open("POST",?"url");??
          xhr.overrideMimeType('text/plain;?charset=x-user-defined-binary');??
          <pre?code_snippet_id="422893"?snippet_file_name="blog_20140709_4_2106578"?class="sh_javascript?sh_sourceCode"?name="code">xhr<span?class="sh_symbol">.</span><span?class="sh_function">sendAsBinary</span><span?class="sh_symbol">(</span>binaryString<span?class="sh_symbol">);</span></pre><br> ?

          主站蜘蛛池模板: 国产在线精品一区在线观看| 亚洲国产一区二区a毛片| 搜日本一区二区三区免费高清视频 | 久久青青草原一区二区| 国产伦精品一区二区三区免.费 | 视频在线一区二区三区| 中文字幕av人妻少妇一区二区| 欧美日韩精品一区二区在线视频| 久久久久久人妻一区精品| 国产亚洲综合一区二区三区 | 午夜精品一区二区三区免费视频| 视频一区二区三区人妻系列 | 日本一区二区在线不卡| 日韩在线视频一区| 国产AV一区二区精品凹凸| 精品国产免费观看一区| 国产精品无码一区二区三区免费| 亚洲色精品三区二区一区| 在线播放一区二区| 无码一区二区三区AV免费| 国产一区中文字幕在线观看| 秋霞鲁丝片一区二区三区| 精品一区二区三区免费毛片| 一区二区在线视频观看| 内射女校花一区二区三区| 性无码一区二区三区在线观看| 亚洲AV综合色一区二区三区| 亚洲宅男精品一区在线观看| 精品一区二区三区影院在线午夜| 本免费AV无码专区一区| 亚洲国产系列一区二区三区| 成人免费视频一区| 国产成人精品久久一区二区三区av| 久久久久女教师免费一区| 日韩免费无码一区二区三区| AV天堂午夜精品一区二区三区| 国产成人久久一区二区不卡三区| 中文字幕一区二区免费| 亚洲av色香蕉一区二区三区蜜桃 | 国产成人精品第一区二区| 日韩一区二区三区视频久久|