Firefox 3.6 äº 2010å¹´1æ22æ¥æ£å¼åå¸ï¼è¯¥çæ¬å¯¹CSS3åHTML5æä¾äºæ´å¤çæ¯æï¼å¨ HTML5 æ¹é¢ï¼æä¾å¯¹è®¿é®æ¬å°çæ¯æåå¤æ件éæ©ãåæ¶è¿æ¯æç®åææ¾æä½å³å¯å®æãéµå®W3Cè§èçæµè§å¨å¯¹Webå¼å人åæ¥è¯´ï¼æ¯ä¸ä¸ªæ好çå讯ï¼Firefoxæ¯ä¸æ¬¡å°å°çæ´æ°ï¼é½ä¼ç»å¤§å®¶å¸¦æ¥ä¸ä»½æåãä¸é¢å°±ç®åä»ç»ä¸Firefox3.6对æ件ä¸ä¼ æ¯æçæ°åè½ã
Firefox 3.6æ¯æä¸æ¬¡éæ©å¤ä¸ªæ件ãéæ©å¤ä¸ªæ件ï¼åªéå¨inputä¸æ·»å multiple="true" å±æ§å³å¯ï¼åæ³å¦ä¸ï¼<input type="file" id="input" multiple="true" οnchange="handleFiles(this.files)" />
å¨ç¨æ·éæ©å¤ä¸ªæ件åï¼handleFileså½æ°å¯ä»¥éè¿FileList对象å¾å°æéæ©çæ¯ä¸ªFile对象ã
éè¿ææ¾æä½å®ç°æ件çå¤éï¼åªéè¦å å®ä¹ä¸ä¸ªå¯ææ¾çåºåï¼ç¶åæ·»å ï¼dragenterãdragoverådropäºä»¶ï¼å¨dropäºä»¶éï¼å¯ä»¥éè¿e.dataTransfer.files å¾å°æéæ©çæ件éåã
对äºæ¯ä¸ä¸ªæ件对象ï¼å¯ä»¥éè¿nameå±æ§å¾å°æ件åï¼sizeå±æ§å¾å°æ件ç大å°ï¼typeå±æ§å¾å°æ件çMIME ç±»åï¼å¯ä»¥ä½¿ç¨FileReader对象读åæ件çå 容ãæ¯å¦ï¼ä¸é¢çä¾åæ¯å¾å°æ件åãæ件大å°åæ件类åçï¼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript"><!--
function handleFile(f) {
var files = f.files;
var result = "";
for (var i = 0; i < files.length; i++) {
result += "æ件åï¼" + files[i].name + "/r/n";
result += "æ件大å°ï¼" + files[i].size + "/r/n";
result += "æ件类åï¼" + files[i].type + "/r/n";
result += "/r/n------------------------------/r/n/r/n";
}
alert(result);
}
// --></script>
</head>
<body>
<input type="file" οnchange="handleFile(this)" />
<input type="file" multiple="true" οnchange="handleFile(this)" />
</body>
</html>
注æï¼è¿éå¤ææ件类åçä¾æ®å¥½åè¿æ¯ä»¥æ©å±åæ¥å¤æçï¼ä¹å°±æ¯è¯´æ¯å¯ä»¥éè¿ä¿®æ¹æ©å±åæ¥ä¼ªè£ çã
å¦å¤ï¼è¿å¯ä»¥éè¿XMLHttpRequest对象å±æ§æ件çä¸è½½ï¼éè¿progressäºä»¶å¯ä»¥æ¾ç¤ºä¸è½½çåç¡®è¿åº¦ï¼ä¸é¢æ¯mozillaç½ç«æä¾çä¸ä¸ªä¸è½½çä¾åï¼
function FileUpload(img, file) {
this.ctrl = createThrobber(img);
var xhr = new XMLHttpRequest();
this.xhr = xhr;
var self = this;
this.xhr.upload.addEventListener("progress", function(e) {
if (e.lengthComputable) {
var percentage = Math.round((e.loaded * 100) / e.total);
self.ctrl.update(percentage);
}
}, false);
xhr.upload.addEventListener("load", function(e){
self.ctrl.update(100);
var canvas = self.ctrl.ctx.canvas;
canvas.parentNode.removeChild(canvas);
}, false);
xhr.open("POST", "http://demos.hacks.mozilla.org/paul/demos/resources/webservices/devnull.php");
xhr.overrideMimeType('text/plain; charset=x-user-defined-binary');
xhr.sendAsBinary(file.getAsBinary());
}
Â
Firefox3.6 ä¸è½½å°åï¼
http://www.mozilla.com/en-US/firefox/all.html