Nightshadow: Statusanzeige - Probleme

Hallo,
ich hab mir auf meiner hp einen Preloader zum vorausladen der Bilder eingebaut. Dieser zeigt sogar in der IE Statusanzeige den Fortschritt des ladens in % an.
Nun mein Problem:
Diese Statusanzeige vom Preloader zeigt er über die ganze hp an.
Ich habe auf jeder meiner Seiten im Head den Tag "Window.Status="...." drinne, und trotzdem wird immer die Statusanzeige vom Preloaden angezeigt.

Kann ich die Statusanzeige des Preloaders ausschalten oder aber auch unterm Ladebalken ausgeben lassen?

Vieleicht kann mir ja jemand helfen

schonmal vielen danke im voraus.

hier noch das Script des Preloaders:

<script language="JavaScript1.2">

startingColor = new Array() // <-- Nicht veraendern!
endingColor = new Array() // <-- Nicht veraendern!

// welche Bilder sollen vorrausgeladen werden
var yourImages = new Array (" ",)

var locationAfterPreload = "Index2.html" // Adresse wohin es nach dem vorladen weiterleitet
var preloadbarWidth = 200 // Die Laenge der Preloadbar. Sollte groesser sein als der gesamte Betrag der Bilder die geladen werden sollen
var preloadbarHeight = 10 // Die Hoehe der Preloadbar
var backgroundOfGradient = "#333333" // Farbe der Preloadbar waeherend es laedt

// Startfarbe
startingColor[0] = "7"
startingColor[1] = "7"
startingColor[2] = "8"

// Farbe am Ende
endingColor[0] = "7"
endingColor[1] = "7"
endingColor[2] = "8"

// Fuer Fehlersuche:
var gap = 2

// Nichts 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 -->
</script>

<Body>
 <script language="JavaScript">
<!--
document.write('<table border="0" cellpadding="0" cellspacing="1" 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="Index2.html"></a></small></p></font>')
loadImages();
// -->
</script>

  1. ich hab mir auf meiner hp einen Preloader zum vorausladen der Bilder eingebaut. Dieser zeigt sogar in der IE Statusanzeige den Fortschritt des ladens in % an.

    Warum?

    Nun mein Problem:

    Ein preloader ist das Problem.

    Mal abgesehen, das er nur mit dem IE funktioniert und eher schelcht programmiert ist, das er nicht das onload Event von Bildern nutzt, sondern mit Timeout unter Umständen eine endlosschleife macht.

    Wozu soll das gut sein?

    Struppi.

    1. Danke für Deine schnelle Antwort.

      Ich wollte meine Bilder vorausladen, und mir wurde dieses script empfohlen. Da es noch gut aussieht, hab ich es meinen Bedürfnissen angepasst und eingebaut. Ich kenn mich in Java leider nicht aus.
      Nach Deiner Aussage scheint das Script ja nicht der Brüller zu sein.

      Gibts denn da sinnvollere scripte?

      Nightshadow

      1. Hallo,

        ja, nimm keins.

        gruss

        --
        no strict;
        no warnings;
        Über eine Rückmeldung freut sich später jeder, der das gleiche Problem hat und im Archiv nach einer Lösung sucht.
        1. hallo,
          danke für die schnellen Antworten

          Ihr meint es sei nicht Sinnvoll, dann werd ich es mal entfernen.
          Aber warum wird empfohlen die Bilder voraus zu laden?

          1. Hallo,

            Aber warum wird empfohlen die Bilder voraus zu laden?

            wo, wie, wann, wer, warum, weshalb?

            gruss

            --
            no strict;
            no warnings;
            Über eine Rückmeldung freut sich später jeder, der das gleiche Problem hat und im Archiv nach einer Lösung sucht.
            1. wurde schon auf einigen Foren Diskutiert

              1. Hi,

                wurde schon auf einigen Foren Diskutiert

                Wie bereits erwähnt: Braucht die Seite nicht sofort sichtbare Grafiken (z.B. für Rollover-Effekte), dann müssen sie vorab geladen werden, um einen "Hänger" beim Effekt zu verhindern.

                Aber auch z.B. bei Slideshows sehr sinnvoll, damit das nächste Bild sofort angezeigt wird.

                Ich finde sie aber auch prinzipiell sinnvoll (und darüber kann man geteilter Neinung sein), um z.B. auf *manchen* Seiten (mit möglichst wenig eigenem Download) schon Bilder für die voraussichtlich nächste Seite vorzuladen. Lädt der Surfer erwartungsgemäß die nächste Seite, wird selbige i.d.R. deutlich schneller (inkl. Grafiken) angezeigt und kann, während der Surfer die Seite liest, bereits die nächsten Grafiken vorladen. Lädt der Surfer nicht die nächste Seite, ist nur im Hintergrund ein wenig Trafic entstanden, der aber niemanden "belastet".

                Ein kleines (voll-kompatibles ;-)) Vorladescript:

                <script type="text/javascript" language="JavaScript1.1"><!--
                 if(document.images) { cache=new Array(); i=-1;
                  i++; cache[i]=new Image(); cache[i].src="img/grafik.gif";
                 }
                //--></script>

                Einfach die Zeile mit dem i++ am Anfang nach Bedarf vervielfältigen und die Pfade der gewünschten Grafiken dort eintragen.

                Alernativen:

                • Einbinden der Grafiken mit IMG-Tag und kleiner Größenangabe und/oder mit CSS versteckt (hat alles Vor- und Nachteile).
                • Die Mozillas bieten eine eigene Anweisung zum Vorladen (kanst ja mal nach PREFETCH googeln).

                Gruß, Cybaer

                --
                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          2. Ihr meint es sei nicht Sinnvoll, dann werd ich es mal entfernen.
            Aber warum wird empfohlen die Bilder voraus zu laden?

            Weil viele Programmierer und Internetseitenbastler es versäumen bei Bildern im HMTL Code eine Größenangabe anzugeben, dadurch kommt es im IE zu einem sehr zuckendem Seitenaufbau, vor allem bei grafiklastigen Designs. Durch das vorladen der Bilder wird dieser Effekt minimiert, er liesse sich aber durch Größenangaben im HTML Code ebenfalls beseitigen ohne solche unötige Skripte, die Besucher verwirren.

            Struppi.

      2. Hi,

        Ich wollte meine Bilder vorausladen, und mir wurde dieses script empfohlen.

        was eine schlechte Empfehlung war.

        Ich kenn mich in Java leider nicht aus.

        Brauchst Du auch nicht - es handelt sich um JavaScript ;-)

        Nach Deiner Aussage scheint das Script ja nicht der Brüller zu sein.

        Ich würde die Aussage sogar dahingehend interpretieren (und sehe dies auch selbst so), daß ein Vorladescript an sich schon nicht der Brüller ist.

        Gibts denn da sinnvollere scripte?

        Ja. Es gibt imo nur _einen_ sinnvollen Einsatz dieser Technik: wenn auf einer Seite über css :hover oder JavaScript onmouseover neue Grafiken geladen werden. Dann ist es sinnvoll, diese bereits im Cache zu haben, da der Effekt ansonsten zu lange auf sich warten läßt. Ein solches Script sollte aber am besten erst auf der Seite eingsetzt werden, die auch die Grafiken benötigt. Und es macht auch keinen Sinn, hierbei die Statuszeile des Browsers zu mißbrauchen (zu versuchen), da hier bereits sinnvollere Informationen - auch zum Ladestand - vom Browser selbst angezeigt werden.

        freundliche Grüße
        Ingo