//file選擇,觸發定時器函式
function upload(){
clock = window.setinterval(selectfile,1000);
//定時1s
//閉包函式
var selectfile = (function(){
const length = 1*1024*1024;//每次擷取的長度
var sta = 0; //從零處開始擷取
var end = sta +length;
var flag = false; //表示上一塊是否傳送完畢
var blob = null;
var fd = null;
var percent = 0;
//匿名函式
return(function (){
if(flag == true){ //是否正在上傳
return;
flag = true;
var mov = document.getelementbyid('pdffile').files[0];/* blob物件 */
var proid=document.getelementbyid('projectid').value;
fd = new formdata();
blob = mov.slice(sta,end);
up(fd);
//如果sta > mov.size 就結束
if(sta >= mov.size){
clearinterval(clock); //清除定時
return ;
sta = end;
end = sta + length;
flag = false; //上傳完畢
percent = 100 * end /mov.size ;
percent = percent >= 100 ? 100 : percent;
percent=percent.tofixed(2);
var son = document.getelementbyid('son');
son.innerhtml = percent+"%";
son.style.width=percent+"%";
function up(fd){
xhr.open("post","<?= site_aurl($tablefunc.'/upload') ?>",false);
xhr.send(fd);
XMLHttpRequest 物件詳解
http 請求的狀態.當乙個 xmlhttprequest 初次建立時,這個屬性的值從 0 開始,直到接收到完整的 http 響應,這個值增加到 4。狀態名稱描述0 uninitialized 初始化狀態。xmlhttprequest 物件已建立或已被 abort 方法重置。1open open 方...
Ajax核心 XMLHttpRequest物件
xmlhttprequest 物件是ajax功能的核心,學習xmlhttprequest物件就先從建立xmlhttprequest 物件開始,了解在不同的瀏覽器中建立xmlhttprequest 物件使用不同的方法 以前只是聽說有些瀏覽器不太支援ajax,後來瀏覽器逐漸的相容了這個瀏覽器,現在來看明...
建立xmlhttprequest物件
ie瀏覽器使用activeobject,而其它的瀏覽器使用名為xmlhttprequest內建物件。function createxmlhttprequest catch e catch e catch e 宣告乙個儲存 xmlhttprequest 物件的 xmlhttp 變數。然後使用 xmlh...