![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 6.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Kolega napisał z zapytaniem czy nie mógłbym coś mu poradzić. Luknąłem, potestowałem a problem dalej jest, teraz cały czas chodzi mi po głowie co to może być.
Mianowicie, pasek wgrywania plików, w IE chodzi bardzo ładnie, pliki sie wgrywaja akcja zakonczona pomyslnie. W FF i Operze zatrzymuje się (nie ma reguły) i uploadowanie jakby stopuje, kiedy użyje opcji "wyłącz animacje postępu wgrywania" dalej uploaduje w tle, no ale nie ma fajniutkiej animacji... Proszę o jakas wskazówke, może ktoś się już spotkał z podobnym problemem. Kod <script language="JavaScript"> var doc = document; var totalsize=<TMPL_VAR data_total_dgt>; var dat = new Array(<TMPL_VAR nbars>); var xstop=0; for(i=0;i<dat.length;i++)dat[i]=0; function changeValue(id,value) { if(!id)return; if(doc.getElementById(id)) { doc.getElementById(id).innerHTML = value; } } function SP(cursize,time,speed,files,left) { var percent = parseInt(100*parseFloat(cursize)/parseFloat(totalsize)); if(doc.getElementById('upload_status'))doc.getElementById('upload_status').style.width = percent+'%'; changeValue('percent', percent+'%' ); changeValue('current',cursize); changeValue('speed',speed); changeValue('files',files); changeValue('time', convertSeconds(time) ); changeValue('left', convertSeconds(left) ); PB(speed); } function convertSeconds(seconds) { hours = parseInt(seconds/3600); mins = parseInt((seconds-hours*3600)/60); secs = seconds - hours*3600 - mins*60; if(hours<10){ hours = '0'+hours; } if(mins<10){ mins = '0'+mins; } if(secs<10){ secs = '0'+secs; } return hours+':'+mins+':'+secs; } function Message(msg) { if(!doc.getElementById('message'))return; doc.getElementById('message').innerHTML += msg+'<br>'; window.scrollBy(0,550); doc.getElementById('message').scrollTop+=50; } function ClosePopUp() { if(doc.getElementById('close_finished') && document.getElementById('close_finished').checked==true)self.close(); } function PB(val) { if(!doc.getElementById('curr_speed'))return; for(i=0;i<dat.length;i++) { dat[i] = dat[i+1]; } dat[dat.length-1] = val; if(doc.getElementById('curr_speed'))doc.getElementById('curr_speed').innerHTML = val; setBarValues(); } function setBarValues() { var bar_height = doc.getElementById('bar_table').style.height; bar_height = bar_height.replace(/px/,''); max_value=1; for(i=0;i<dat.length;i++){if(parseInt(dat[i])>max_value)max_value=dat[i];} for(i=1;i<=dat.length;i++) { if(dat[i-1]=='' || !dat[i-1])dat[i-1]=0; newh = bar_height*(1 - dat[i-1]/max_value); if(newh<0)alert(i+':'+dat[i-1]+':'+max_value); doc.getElementById("b"+i).style.height = newh+'px'; } } function updateFileStatus(id,classname,text,size) { if(doc.getElementById('fs'+id)) { doc.getElementById('fs'+id).className=classname; doc.getElementById('fs'+id).innerHTML=text; doc.getElementById('fss'+id).innerHTML=size; } } function jahDone(url) { if (req.readyState == 4) { if (req.status == 200) { window.clearTimeout(timeoutId); results = req.responseText; if(!xstop)eval(results); } } } function callInProgress (xmlhttp) { switch (xmlhttp.readyState) { case 1: case 2: case 3: return true; break; // Case 4 and 0 default: return false; break; } } var timeoutId; function jah(url) { url = url+'&rnd='+Math.random(); if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = function() {if(window.jahDone)jahDone(url);}; req.open("GET", url, true); req.send(null); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = function() {if(window.jahDone)jahDone(url);}; req.open("GET", url, true); req.send(); } } timeoutId = window.setTimeout( function() { if ( callInProgress(req) ) { req.abort(); window.clearTimeout(timeoutId); jah(url); } }, 19000 ); } </Script> solved, problem nie tkwił w skypcie js |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 06:27 |