Blue55 Geschrieben 28. August 2003 Geschrieben 28. August 2003 Hi! Ich hab für meine Homepage eine Seite erstellt, auf der ein Java-Applet eingebaut ist. Das Applet braucht recht lange zum laden. Ich hab mal irgendwo gelesen, daß man die eine Seite schon in den Speicher laden kann, bevor sie überhaupt aufgerufen wird, also schon wenn die Startseite meiner HP geöffnet wird. Weiß aber leider nicht mehr, wo ich das gesehen hab. Könnt ihr mir sagen, wie das geht? Blue55 Zitieren
Tachyoon Geschrieben 5. September 2003 Geschrieben 5. September 2003 Ich hab das Thema definitiv mal in selfhtml gesehen, kann mich aber leider nicht mehr daran erinnern, wie es war oder wo genau es steht. Heute keine Zeit zum Suchen, sorry... Zitieren
Matrixmaster Geschrieben 5. September 2003 Geschrieben 5. September 2003 knock,knock.... gibt 2 möglichkeiten. die erste wäre, alles in eine tabelle zu laden (die komplette seite), da eine tabelle erst dargestellt wird, wenn der komplette inhalt geladen ist, die zweite ist ein javascript, in dem du jedes bild im head erstmal als objekt instanziert, dadurch wird es schon einmal geladen. bild1=new Image; bild1.src="Pfad zum Bild"; Eine andere Möglichkeit wäre ggf. mit einem Preloader zu arbeiten.Es wird dann erst die Seite geladen und dann der Preloader angezeigt. Gruß M Zitieren
kills Geschrieben 5. September 2003 Geschrieben 5. September 2003 Original geschrieben von Matrixmaster knock,knock.... bild1=new Image; bild1.src="Pfad zum Bild"; ist es so möglich die reihenfolge in der die bilder geladen werden festzulegen? oder geht das noch anders einfacher? Zitieren
Matrixmaster Geschrieben 5. September 2003 Geschrieben 5. September 2003 Musst die Bilder ganz normal einfügen und dann mit CSS visibility auf "hidden" setzen. Dann durch setTimeout nach und nach einblenden. Beispiel: <html><head><title>bilder laden</title></head> <body> <img id="bild1" src="bild1.gif" width=184 height=268 border="0" style="visibility:hidden"> <img id="bild2" src="bild2.gif" width=184 height=268 border="0" style="visibility:hidden"> <script language="JavaScript"> <!-- window.setTimeout("document.all.bild1.style.visibility = 'visible'",1000); window.setTimeout("document.all.bild2.style.visibility = 'visible'",2000); //--> </script> </body></html> Zitieren
kills Geschrieben 5. September 2003 Geschrieben 5. September 2003 ne eingentlich hab ich ein paar background images und diese wollte ich als erstes vor allen anderen images laden lassen. gibts da ne möglichkeit? Zitieren
FMG Geschrieben 5. September 2003 Geschrieben 5. September 2003 Hier mal ein Preloaderscript für Bilder. Einfach dorthin kopieren, wo der Preloadingbalken auf der Startseite erscheinen soll (Script muss evt. noch angepasst werden. ).<script type="text/javascript"> <!-- begin hiding startingColor = new Array() // <-- NICHT VERÄNDERN! endingColor = new Array() // <-- NICHT VERÄNDERN! // Hier deine Grafiken rein: var yourImages = new Array("Bildpfade1", "Bildpfad2", "Bildpfad3") // Ersetzen und erweitern durch deine Grafiken var locationAfterPreload = "datei.endung" // Hier den Pfad zur Seite die nach dem Vorladen geladen werden soll var preloadbarWidth = 300 // Länge des Balkens var preloadbarHeight = 13 // Höhe desselbigen var backgroundOfGradient = "#64C4F5" // Farbe mir der der Balken beginnt! Gib erste, dritte und fünfte Zahl/Buchstaben der Farbe an startingColor[0] = "4" startingColor[1] = "B" startingColor[2] = "F" // Wie oben nur die Farbe mit dem es endet endingColor[0] = "1" endingColor[1] = "8" endingColor[2] = "F" var gap = 7 // mind. 2! verändern, wenn es nen JS-Error gibt. // NIX MEHR VERÄNDERN if (!document.all) location.replace(locationAfterPreload) var a = 10, b = 11, c = 12, d = 13, e = 14, f=15, i, j, ones = new Array(), sixteens = new Array(), diff = new Array(); var convert = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"), imgLen = yourImages.length; var loaded = new Array(), preImages = new Array(), currCount = 0, pending = 0, h = 0, hilite = new Array(), cover = new Array(); var num = Math.floor(preloadbarWidth/gap); for (i = 0; i < 3; i++) { startingColor[i] = startingColor[i].toLowerCase(); endingColor[i] = endingColor[i].toLowerCase(); startingColor[i] = eval(startingColor[i]); endingColor[i] = eval(endingColor[i]); diff[i] = (endingColor[i]-startingColor[i])/num; ones[i] = Math.floor(diff[i]); sixteens[i] = Math.round((diff[i] - ones[i])*15); } endingColor[0] = 0; endingColor[1] = 0; endingColor[2] = 0; i = 0, j = 0; while (i <= num) { hilite[i] = "#"; while (j < 3) { hilite[i] += convert[startingColor[j]]; hilite[i] += convert[endingColor[j]]; startingColor[j] += ones[j]; endingColor[j] += sixteens[j]; if (endingColor[j] > 15) { endingColor[j] -= 15; startingColor[j]++; } j++; } j = 0; i++; } function loadImages() { for (i = 0; i < imgLen; i++) { preImages[i] = new Image(); preImages[i].src = yourImages[i]; loaded[i] = 0; cover[i] = Math.floor(num/imgLen)*(i+1) } cover[cover.length-1] += num%imgLen checkLoad(); } function checkLoad() { if (pending) { changeto(); return } if (currCount == imgLen) { location.replace(locationAfterPreload); return } for (i = 0; i < imgLen; i++) { if (!loaded[i] && preImages[i].complete) { loaded[i] = 1; pending++; currCount++; checkLoad(); return; } } setTimeout("checkLoad()",10); } function changeto() { if (h+1 > cover[currCount-1]) { var percent = Math.round(100/imgLen)*currCount; if (percent > 100) while (percent != 100) percent--; if (currCount == imgLen && percent < 100) percent = 100; //defaultStatus = "Loaded " + currCount + " out of " + imgLen + " images [" + percent + "%]."; pending--; checkLoad(); return; } eval("document.all.cell" + (h+1) + ".style.backgroundColor = hilite[h]");; h++; setTimeout("changeto()",1); } //defaultStatus = "Loaded 0 out of " + imgLen + " images [0%]." // end hiding --> <!-- beging hiding document.write('<table border="0" cellpadding="0" cellspacing="0" width="' + preloadbarWidth + '"><tr height="' + preloadbarHeight + '" bgcolor="' + backgroundOfGradient + '">'); for (i = 0; i < num; i++) { document.write('<td width="' + gap + '" id="cell' + (i+1) + '"></td>'); } document.write('</tr></table>'); document.write('<p><small><a href="javascript:location.replace(locationAfterPreload)">Ladevorgang Überspringen</a></small></p></font>') loadImages(); // end hiding --> </script> Zitieren
jomama Geschrieben 12. September 2003 Geschrieben 12. September 2003 Original geschrieben von Blue55 Hi! Ich hab für meine Homepage eine Seite erstellt, auf der ein Java-Applet eingebaut ist. Das Applet braucht recht lange zum laden. Ich hab mal irgendwo gelesen, daß man die eine Seite schon in den Speicher laden kann, bevor sie überhaupt aufgerufen wird, also schon wenn die Startseite meiner HP geöffnet wird. Weiß aber leider nicht mehr, wo ich das gesehen hab. Könnt ihr mir sagen, wie das geht? Blue55 Liest hier eigentlich irgendkemand, was die Leute posten? Er spricht von einem Java-Applet, nicht von einem Script. Ein Applet ist eine JAVA-basierte Anwendung, die in den Code eingebettet wird. Daher kann man sie auh nicht vorladen, weil die Daten erst bei Ausführung vom Server gezogen werden. Die Geschwindigkeit der Ausführung hängt vom Client-Rechner ab. Meine Empfehlung, wenns nicht sein muss, lass Java-Applets, die sind nun mal stinklangsam, da lässt sich nix dran ändern, ausser, du progst sie selber. Zitieren
Blue55 Geschrieben 12. September 2003 Autor Geschrieben 12. September 2003 Original geschrieben von jomama Liest hier eigentlich irgendkemand, was die Leute posten? Er spricht von einem Java-Applet, nicht von einem Script. Ein Applet ist eine JAVA-basierte Anwendung, die in den Code eingebettet wird. Daher kann man sie auh nicht vorladen, weil die Daten erst bei Ausführung vom Server gezogen werden. Die Geschwindigkeit der Ausführung hängt vom Client-Rechner ab. Meine Empfehlung, wenns nicht sein muss, lass Java-Applets, die sind nun mal stinklangsam, da lässt sich nix dran ändern, ausser, du progst sie selber. Danke für die Antwort! In diesem Fall muß ich das Applet einfach haben... sieht cool aus. Na ja, meine Besucher werden's überleben... Wieso sind die schneller, wenn man die selbst macht??? Hab doch von dem Zeug keine Ahnung... Gruß Blue Zitieren
Jaraz Geschrieben 12. September 2003 Geschrieben 12. September 2003 Original geschrieben von Blue55 Hi! Ich hab für meine Homepage eine Seite erstellt, auf der ein Java-Applet eingebaut ist. Das Applet braucht recht lange zum laden. Ich hab mal irgendwo gelesen, daß man die eine Seite schon in den Speicher laden kann, bevor sie überhaupt aufgerufen wird, also schon wenn die Startseite meiner HP geöffnet wird. Weiß aber leider nicht mehr, wo ich das gesehen hab. Könnt ihr mir sagen, wie das geht? Blue55 Pack auf die Startseite ein unsichtbares Applet. Dann wird das Java Framework geladen und das nächste Applet sollte schneller sichtbar sein. Allerdings warten dann alle direkt auf deiner Startseite. Gruß Jaraz Zitieren
jomama Geschrieben 17. September 2003 Geschrieben 17. September 2003 Original geschrieben von Blue55 Wieso sind die schneller, wenn man die selbst macht??? Hab doch von dem Zeug keine Ahnung... Ich hab nur gemeint falls irgendwelche Codefehler drin sind, dauerts natürlich noch länger. Was Jaraz sagt, stimmt natürlich.:uli Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.