Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: JavaScript: Lataa kuvat 1..n Javaskriptillä

petterik [01.11.2004 20:22:41]

#

Meinasin ensin koodivinkkeihin pistää tän, mutta ei huvittanut alkaa täyttää byrokraattista lomaketta eikä alkaa viimeisen päälle selostaa koodin toimintaa. Pääasia että se toimii.
---
Netti on pullollaan komeita luontokuvia, jotka ovat muotoa <alku> + <juokseva numero> + <loppuosa>
Tein HTML lomakkeen, jolle syötetään alkuosa, luvun pituus, pienin numero, suurin numero ja loppuosa.
http://koti.welho.com/pkeckman/temp/lataa.html
Lomake kutsuu javascripti functiota, joka näyttää kuvat uudessa ikkunassa.
Oletusarvoina lomakkeessa ovat:
(tähän nyt tulee turhaan linkeiks nää alkuosat)
http://www.fantom-xp.com/wallpapers_nature1/nature
3
1
48
f.jpg
(lopeta jo hyvä mies manuaalin luku ja lataa lomake http://koti.welho.com/pkeckman/temp/lataa.html)
Tuo 3 kertoo että luvun pituus on 3.
Se siis lataa ikkunaan kuvat:
http://www.fantom-xp.com/wallpapers_nature1/nature001f.jpg
http://www.fantom-xp.com/wallpapers_nature1/nature002f.jpg
.
jne..
http://www.fantom-xp.com/wallpapers_nature1/nature048f.jpg

Toinen mielenkiintoinen luontokuva arkisto löytyi:
http://www.focaltek.com/photo1/natural/wallpaper/nature
3
104
110
_1024.jpg
Joka siis lataa kuvat:
http://www.focaltek.com/photo1/natural/wallpaper/nature104_1024.jpg
http://www.focaltek.com/photo1/natural/wallpaper/nature105_1024.jpg
.
.
http://www.focaltek.com/photo1/natural/wallpaper/nature110_1024.jpg
suurin numero olisi saannut 300 ja pinenin 100, mutta koska kuvat ovat suuria ei niitä kannata kerralla ladata kaikkia.

Kun saisi jotenkin talletettua noi löytämänsä mielenkintoiset hakuarvot - ei nyt ehkä kannata tietokantaa rupee rakentamaan, mutta se on ehkä seuraava vaihe...

<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:keckman@welho.com">
<META NAME="author" CONTENT="Petri Keckman">
<SCRIPT TYPE="text/javascript" LANGUAGE="javascript">
function tee() {
uusi = window.open();
var i = Number(document.Lomake.first.value);  //lomakkeessa ovat kentät first, last, zero (ja base)
var j = Number(document.Lomake.last.value);
var z= Number(document.Lomake.zero.value);
strz="000000000000000000";
window.uusi.document.write("<HTML>");
window.uusi.document.write("<HEAD>");
window.uusi.document.write("</HEAD>");
window.uusi.document.write("<BASEFONT FACE='Arial' SIZE='-6'>");
window.uusi.document.write("<BODY>");
                          //Tulostetaan sivun alkuun info arvoista jotka lomakkeelle oli syötetty
window.uusi.document.write(document.Lomake.base.value + "(" + document.Lomake.first.value + "-" + document.Lomake.last.value + ")" + document.Lomake.end.value + "<br>");
                          //i käy läpi arvot first-last eli j:hin saakka
while (i<=j) {
	strz2 = strz + i;     //laitetaan strz3:een tulee oikeanpituinen luku 1,01,001,...,000000000000000001
	pituus = strz2.length;
	if (z==0) {
		strz3 = i;
	} else {
		strz3 = strz2.substr(pituus-z,z);
	}                     //muuttujaan source laitetaan i:tä vastaavan kuvan osoite
	source = document.Lomake.base.value + strz3 + document.Lomake.end.value;
						  //tulostetaan uudelle sivulle
	window.uusi.document.write("<IMG  SRC='" + source + "' ALT = '" + i + "'>" + i);
	i++;
}
window.uusi.document.write("</BODY></HTML>");
}
</SCRIPT>        <!-- javascripti osuus on HEAD:n sisällä on valmis - tehdään itse lomake HTML:llä-->
<style TYPE="text/css"><!--style eli fontti taulukolle (jossa on  CLASS="runko määre") -->
   .runko { font-family: Verdana; font-size: 9px; color: #000000; line-height: 1.4}
</STYLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">

<table border="0" width="100%"><tr><td>
	<FORM NAME="Lomake">
		<TABLE ALIGN="left" BORDER="0" CELLSPACING="2" CELLPADDING="2" WIDTH="100%" CLASS="runko">
		<TR ALIGN="left" VALIGN="middle">
			<TD>Address starts with:</TD>
			<TD><INPUT TYPE="Text" NAME="base" SIZE="100" VALUE="http://www.fantom-xp.com/wallpapers_nature1/nature"></TD>
		</TR>
		<TR ALIGN="left" VALIGN="middle">
			<TD>Length of number<br>4 means "0001", 0 means "1":</TD>
			<TD><INPUT TYPE="Text" NAME="zero" SIZE="3" VALUE="3"></TD>
		</TR>

		<TR ALIGN="left" VALIGN="middle">
			<TD>first:</TD>
			<TD><INPUT TYPE="Text" NAME="first" VALUE="1"></TD>
		</TR>

		<TR ALIGN="left" VALIGN="middle">
			<TD>last:</TD>
			<TD><INPUT TYPE="Text" NAME="last" VALUE="48"></TD>
		</TR>
		<TR ALIGN="left" VALIGN="middle">
			<TD>...and address ends with:</TD>
			<TD><INPUT TYPE="Text" NAME="end" VALUE="f.jpg"></TD>
		</TR>
		<TR ALIGN="left" VALIGN="middle">
			<TD></TD>
			<TD><INPUT TYPE="button" VALUE="View them !" onClick="tee()"></TD> <!-- kutsutaan javascriptiä-->
		</TR>
		</TABLE>
	</FORM>
	</td></tr>
	<tr><td>
</td></tr></table>
</FONT>
</BODY>
</HTML>

petterik [02.11.2004 03:05:39]

#

petterik kirjoitti:

window.uusi.document.write("<BASEFONT FACE='Arial' SIZE='-6'>");

Jostain syystä ei toiminut. Muutin sen:
window.uusi.document.write("<FONT FACE='Arial' SIZE='-2'>");
Ja sitten fontti kiinni merkki loppuun:
window.uusi.document.write("</FONT></BODY></HTML­>");

Ei muuten kannata käyttää FONT määreitä. Kannattaa käyttää style määreitä. Niinkuin teenkin itse lomakkeessa, mutta en siinä sivussa jonka lomake tuottaa. Yritin laittaa style määrettä tonne tuotettavaan sivuunkin, mutta ei toiminut koko lomake enää. Itselläni ei ole muuta "alustaa" javascript työskentelyyn ja testailuuun kuin selain. Ja sehän ei virhe ilmoituksia antele. Ei ainakaan Opera selain.
Olisko tiedossa sellaista javascriptiä suorittavaa selainta, joka antaa kunnon virheilmoituksen javascripti koodista?

Blaze [02.11.2004 07:29:25]

#

petterik kirjoitti:

Ei muuten kannata käyttää FONT määreitä. Kannattaa käyttää style määreitä.

Ei kannata käyttää style-määreitä, vaan kannattaa käyttää linkitettyä tyylisivua.

petterik kirjoitti:

Ja sehän ei virhe ilmoituksia antele. Ei ainakaan Opera selain.
Olisko tiedossa sellaista javascriptiä suorittavaa selainta, joka antaa kunnon virheilmoituksen javascripti koodista?

Antaa, mutta ne pitää erikseen kääntää päälle: Preferences > Multimedia > JavaScript Options > Open JavaScript Console on Error

Jos jotain isompaa JS:llä tekee, Mozillasta (ei Firefox, joskin sille saattaa saada extensionina, en ole ottanut selvää) löytyy JavaScript debugger ("Venkman"), josta on varmasti hyötyä.

arcatan [04.11.2004 18:48:15]

#

Blaze kirjoitti:

(ei Firefox, joskin sille saattaa saada extensionina, en ole ottanut selvää) löytyy JavaScript debugger ("Venkman"), josta on varmasti hyötyä.

Jep, löytyy Firefoxillekin extensionina tuo Venkman.

tsuriga [05.11.2004 00:29:53]

#

Löytyy Mozilla Navigatorista valmiina Tools -> Web Development -> JavaScript Debugger. Varsin kätevä hackitin muutamassa kohdassa, joista taisi olla puhetta tässä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta