Zum Inhalt springen

Seiten schneller laden?


Blue55

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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... :D

Wieso sind die schneller, wenn man die selbst macht??? Hab doch von dem Zeug keine Ahnung... :rolleyes:

Gruß

Blue

Link zu diesem Kommentar
Auf anderen Seiten teilen

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. :rolleyes:

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...