Pobieranie pliku w JS

Skrypt obliczający czas pobierania pliku z sieci

Często ludzie tworzący prywatne strony WWW (webmasterzy) nie znają się nawet na HTML-u. Większość używa Edytorów wizualnych umożliwiających przemieszczanie przycisków i różnorodne formatowanie tekstu za pomocą myszki. Na pewno do pisania artów każdy mądry człowiek wybrał by wizuala (bo w kodzie to sobie nie wyobrażam), ponieważ wystarczy pisać, bez wstawiania różnorakich znaczników np. do wybierania fontów <font>. Jest to dużo łatwiejsze. Jednak nie wszystko da się wykonać za pomocą "jednego" palca, są rzeczy do których potrzebne jest troszkę wiedzy o programowaniu. Z tą pomocą przychodzą wam kursy dostępne na hołmie @t-a. Warto pobrać kurs Delphi, VB, TP i C oraz właśnie kurs JS. JS jest językiem, który w ostatnich latach nabrał szczególnego znaczenia. Przecież nie można sobie wyobrazić teraz portalu bez skryptów, a nawet większego serwisu czy strony. JS ma na razie krótką historię, która jest uwidoczniona z początku małymi niepowodzeniami związanych z obsługą ów języka przez przeglądarki, bo przecież i teraz Netscape Navigator inaczej interpretuje język JS niż IE 5.0. Odmianą języka skryptowego JS jest XML stworzony dla potrzeb telefonów komórkowych (WAP) o czym mowa w artykule "WAP".
Dobra nie będę was dalej przynudzał tylko skopiujcie ten kod na swoją WWW aby wyświetlić skrypt, przez który odwiedzający waszą stronę będą mogli obliczyć ile będzie trwało pobranie pliku.

W ramach <HEAD> i </HEAD>.

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
function MakeArray(n) {
this.length = n;
for (var i = 1; i <= n; i++) {
this[i] = 0 }
return this
}
speedVar = new MakeArray(11);
speedVar[1] = "1.1719"
speedVar[2] = "1.7578"
speedVar[3] = "3.5156"
speedVar[4] = "6.8359"
speedVar[5] = "7.8125"
speedVar[6] = "16.6250"
speedVar[7] = "187.9883"
speedVar[8] = "1220.7031"
speedVar[9] = "3295.8984"
speedVar[10] = "5493.1641"
speedVar[11] = "18920.8984"
function compute(form, mult){
for (i=1; i < 12; i++){
if (form.size.value==null||form.size.value.length==0){
form.size.value=0;}
if (form[i+"hour"].value==null||form[i+"hour"].value.length==0){
form[i+"hour"].value=0;}
if (form[i+"minute"].value==null||form[i+"minute"].value.length==0){
form[i+"minute"].value=0;}
if (form[i+"second"].value==null||form[i+"second"].value.length==0){
form[i+"second"].value=0;}
if (mult != 0 && form.size.value != 0){
with (Math){
var speed = speedVar[i];
var TotalTime = ((form.size.value*mult)/speed);
var TotalHours = floor((TotalTime/3600));
var TotalHoursMod = (TotalTime%3600);
var TotalMin = floor(TotalHoursMod/60);
var TotalMinMod = (TotalHoursMod%60);
var TotalSec = floor(TotalMinMod);
form[i+"hour"].value=TotalHours;
form[i+"minute"].value=TotalMin;
form[i+"second"].value=TotalSec;
}
}
}
return;
}
// End -->
</SCRIPT>

W ramach <BODY> i </BODY>.

<FORM METHOD="POST">

<CENTER>
<TABLE BORDER="0" cellspacing="0" cellpadding="0" width="347">
<TR>
<TD width="343" colspan="5">
</CENTER>
</TD>
</TR>
<TR>
<TH width="131" colspan="2" style="border-bottom: 3 dashed #000080">
<p align="left">Typ</p>
</TH>

<CENTER>
<TH width="58" align="left" style="border-bottom: 3 dashed #000080">Godziny </TH>
<TH width="53" align="left" style="border-bottom: 3 dashed #000080">Minuty </TH>
</CENTER>
<TH width="97" align="left" style="border-bottom: 3 dashed #000080">
<p align="left">Sekundy</p>
</TH>
</TR>

<CENTER>
<TR>
<TD BGCOLOR="#ffffff" width="19" align="center">M</TD>
<TD BGCOLOR="#ffffff" align="right" width="114" style="border-left-style: solid; border-left-color: #000080">9.6 Kb </TD>
<TD width="58"><INPUT NAME="1hour" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="53"><INPUT NAME="1minute" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="97"><INPUT NAME="1second" SIZE="6" style="border: 3 double #000080"></TD>
</TR>
<TR>
<TD BGCOLOR="#ffffff" width="19" align="center">O</TD>
<TD BGCOLOR="#ffffff" align="right" width="114" style="border-left-style: solid; border-left-color: #000080">14.4 Kb </TD>
<TD width="58"><INPUT NAME="2hour" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="53"><INPUT NAME="2minute" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="97"><INPUT NAME="2second" SIZE="6" style="border: 3 double #000080"></TD>
</TR>
<TR>
<TD BGCOLOR="#ffffff" width="19" align="center">D</TD>
<TD BGCOLOR="#ffffff" align="right" width="114" style="border-left-style: solid; border-left-color: #000080">28.8 Kb </TD>
<TD width="58"><INPUT NAME="3hour" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="53"><INPUT NAME="3minute" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="97"><INPUT NAME="3second" SIZE="6" style="border: 3 double #000080"></TD>
</TR>
<TR>
<TD BGCOLOR="#ffffff" width="19" align="center">E</TD>
<TD BGCOLOR="#ffffff" align="right" width="114" style="border-left-style: solid; border-left-color: #000080">56 Kb </TD>
<TD width="58"><INPUT NAME="4hour" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="53"><INPUT NAME="4minute" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="97"><INPUT NAME="4second" SIZE="6" style="border: 3 double #000080"></TD>
</TR>
<TR>
<TD BGCOLOR="#ffffff" width="19" align="center">M</TD>
<TD BGCOLOR="#ffffff" align="right" width="114" style="border-left-style: solid; border-left-color: #000080">ISDN (64 Kb) </TD>
<TD width="58"><INPUT NAME="5hour" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="53"><INPUT NAME="5minute" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="97"><INPUT NAME="5second" SIZE="6" style="border: 3 double #000080"></TD>
</TR>
<TR>
<TD BGCOLOR="#ffffff" width="19" align="center">U</TD>
<TD BGCOLOR="#ffffff" align="right" width="114" style="border-left-style: solid; border-left-color: #000080">ISDN (128 Kb)
</TD>
<TD width="58"><INPUT NAME="6hour" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="53"><INPUT NAME="6minute" SIZE="6" style="border: 3 double #000080"> </TD>
<TD width="97"><INPUT NAME="6second" SIZE="6" style="border: 3 double #000080"></TD>
</TR>
<TR>
<TD BGCOLOR="#ffffff" width="339" colspan="5" style="border-top: 3 dashed #000080">
<p align="center"> </p>
</TD>
</TR>
<INPUT TYPE="HIDDEN" NAME="8hour" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="8minute" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="8second" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="9hour" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="9minute" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="9second" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="10hour" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="10minute" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="10second" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="11hour" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="11minute" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="11second" SIZE="6">
<tr>
<TD BGCOLOR="#ffffff" width="339" colspan="5">
<p align="center">Rozmiar pliku <INPUT NAME="size" SIZE="10" style="border: 4 double #FF0000">
<INPUT TYPE="BUTTON" OnClick="compute(this.form, 1)" VALUE="KB" style="background-color: #000000; color: #FFFFFF; border: 3 outset #000000">
<INPUT TYPE="BUTTON" OnClick="compute(this.form, 1024)" VALUE="MB" style="background-color: #000000; color: #FFFFFF; border: 3 outset #000000">
</p>
</TD>
</tr>
</TABLE>
</FORM>


Życzę powodzenia!

Lukas
wypoker@poczta.onet.pl

 

  Copyright 2001 at-online. Wszelkie prawa zastrzeżone.