Skip to content

Instantly share code, notes, and snippets.

@jackywyz
Created February 9, 2012 09:34
Show Gist options
  • Save jackywyz/1778819 to your computer and use it in GitHub Desktop.
Save jackywyz/1778819 to your computer and use it in GitHub Desktop.
HTML5 review

###新的标签

  1. mark
  2. video
  3. audio

###存储

  1. localStorage - 没有时间限制的数据存储 ,永远有效。
  2. sessionStorage - 针对一个 session 的数据存储,回话内有效。

###INPUT新的type类型

  1. email
  2. url
  3. number
  4. range (max,min属性)
  5. Date pickers (date, month, week, time, datetime, datetime-local)
  6. search
  7. color
  8. datalist
  9. keygen
  10. output ####INPUT属性
  11. placeholder
  12. autocomplete
  13. max,min
  14. required
  15. autofocus,pattern

###Web SQL Database本地数据库

  1. 兼容,少量数据,不是HTML5标准.
db = openDatabase 'mydb', '1.0', 'Test DB', 2 * 1024 * 1024
 # 数据库名,版本号,描述,数据库大小  

db.transaction (tx)->  db.executeSql('')

###地理定位 geo = navigator.geolocation
geo.getCurrentPosition (pos)-> console.log pos

###文件操作

imageReader = new FileReader()
imageReader.onload =  (e)->
 do something! 
imageReader.onprogress = updateProgress
imageReader.onerror = errorHandler
imageReader.readAsDataURL file #readAsArrayBuffer,readAsText

#API
FileList接口

#FileList[index] // 得到第index个文件 
Blob接口

#Blob.size // 只读特性,数据的字节数  
#Blob.slice(start, length) // 将当前文件切割并将结果返回 
File接口

#File.size // 继承自Blob,意义同上  
#File.slice(start, length) // 继承自Blob,意义同上  
#File.name // 只读属性,文件名  
#File.type // 只读属性,文件的MIME类型  
#File.urn // 只读属性,代表该文件的URN,几乎用不到,暂且无视 
FileReader方法

#FileReader.readAsBinaryString(blob/file) // 以二进制格式读取文件内容  
#FileReader.readAsText(file, [encoding]) // 以文本(及字符串)格式读取文件内容,并且可以强制选择文件编码  
#FileReader.readAsDataURL(file) // 以DataURL格式读取文件内容  
#FileReader.abort() // 终止读取操作 
FileReader事件

#FileReader.onloadstart // 读取操作开始时触发  
#FileReader.onload // 读取操作成功时触发  
#FileReader.onloadend // 读取操作完成时触发(不论成功还是失败)  
#FileReader.onprogress // 读取操作过程中触发  
#FileReader.onabort // 读取操作被中断时触发  
#FileReader.onerror // 读取操作失败时触发 
FileReader属性

#FileReader.result // 读取的结果(二进制、文本或DataURL格式)  
#FileReader.readyState // 读取操作的状态(EMPTY、LOADING、DONE) 

###离线

  1. html中 "<html manifest=“offline.manifest”>…</html>"
  2. 检测是否支持离线
    var cache = window.applicationCache;
    cache.status,.update

###IndexDB

var indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;

if ('webkitIndexedDB' in window) {
window.IDBTransaction = window.webkitIDBTransaction;
window.IDBKeyRange = window.webkitIDBKeyRange;
}
//这个就不解释了

var request = indexedDB.open("adsageIDB"); //open : indexedDB只有这一个方法 打开(数据库名)
request.onsuccess = function(e) { //异步
var v = "1.00";
var db = e.target.result;

if (v!= db.version) {
var setVrequest = db.setVersion(v);
setVrequest.onsuccess = function(e) { //异步
if(db.objectStoreNames.contains("todo")) {
db.deleteObjectStore("todo");
}
var store = db.createObjectStore("todo", {keyPath: "adsid"});//onsuccess 后创建ObjectStore 暂时用到两个参数,数据库&&主键
}
} 
}

###canvas作图

  1. 首先canvas是个新的标签

      <canvas id =name width=200 height=300></canvas>
  2. 绘制图像 fillRect(x,y,width,height) : 填充,不还边界
    strokeRect(x,y,width,height) : 只填充边界
    clearRect(x,y,width,height) : 对模块区域消除填充,透明化
    beginPath() : 开始作画
    closePath() : 首尾相连
    stroke() : 填充边界
    fill() : 填充内容
    moveTo: 落笔到
    lineTo: 从a到b点的一条直线
    arc(x, y, radius, startAngle, endAngle, anticlockwise): 最后一个为画图顺序,以x正半轴为基准

  3. 曲线 quadraticCurveTo x1,y1,x,y : (x,y)终点,其他的为控制点
    bezierCurveTo x1,y1,x2,y2,x,y : (x,y)终点,其他的为控制点

    context.arcTo(x1, y1, x2, y2, radius)
    其中, x1 贯穿当前路径所在坐标的第一条切线的横坐标
    y1 贯穿当前路径所在坐标的第一条切线的纵坐标
    x2 贯穿(x1,y1)坐标的第二条切线的横坐标
    y2 贯穿(x1,y1)坐标的第二条切线的横坐标
    radius 弧半径

  4. lineJoin 属性用来描述path的连接情况,共有三个可选值:
    miter: (默认) 连接点是平的;
    bevel: 连接点是斜线;
    round: 连接点是圆的;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment