hi all,
ich weiss es gibt sicher viele beispiele, aber ich entwickel gern selbst die dinge damit ich weiss was man tun muss wenn man mal was ändern will ich hab hier ein kleines und wie ich bisher dachte feines skript…es lädt schon auch einige der bilder im array in den browser-cache aber es sind halt nicht alle, es ist auch nicht so das es sporadisch ist…es sind immer dieselben NICHT. etwa 60% werden nicht geladen obwohl das bildvolumen identisch (sehr klein) ist, die datein im selben ordner liegen und ich auch die dateinamen 5 mal geprüft habe ausserdem ruf ich das skript erst etwa 2000 ms nach dem rendern der website auf…
allpixMenu = Array(„abouthi_d.gif“,„newshi_d.gif“,„productshi_d.gif“,„serviceshi_d.gif“,„refshi_d.gif“,„downloadshi_d.gif“,„jobshi_d.gif“,„linkshi_d.gif“,„sitemaphi_d.gif“,„imprinthi_d.gif“,„abouthi_e.gif“,„newshi_e.gif“,„productshi_e.gif“,„serviceshi_e.gif“,„refshi_e.gif“,„downloadshi_e.gif“,„jobshi_e.gif“,„linkshi_e.gif“,„sitemaphi_e.gif“,„imprinthi_e.gif“);
for (i=0;i=allpixMenu.length-1) alert(„ok“);
}
wenn Du images vorladen willst, dann musst Du den kompletten absoluten path zu den Bildern mit angeben, denn im Cache des Browsers werden die Bilder nicht anhand des Dateinames alleine unterschieden, sondern über den kompletten Pathnamen. Sonst werden ja bei zwei voellig verschiedenen Webseiten X und Y z.B., die zufaelliger Weise fuer zwei voellig verschiedenen Grafiken den gleichen Dateinamen Z verwenden, die falschen Bilder aus dem Cache geholt und auf der falschen Seite angezeigt!
Ich wuerde in einer getrennten js-Datei, die Bilder erstmal mit kompletten Path ablegen. So z.B.:
var imgPreloadAry = new Array();
imgPreloadAry[imgPreloadAry.length] = "http://www.myDomain.com/supFolder1/bild1.gif";
imgPreloadAry[imgPreloadAry.length] = "http://www.myDomain.com/supFolder1/subfolder2/bild2.gif";
imgPreloadAry[imgPreloadAry.length] = "http://www.myDomain.com/supFolder2/bild3.jpg";
usw.
...
In einer zweiten js-Datei, die nach der ersten obigen in der html-Datei geladen wird, dann folgendes beispielhaft:
var aryImgSrc = new Array(); // Image objects
var cntLoaded = 0; // Counter
var maxToLoad = 0; // Count of images
function finishLoadBar()
{
for (var i=0; i
function updateLoadBar()
{
cntLoaded++;
window.status = "Loading Image:" + cntLoaded;
if (cntLoaded==maxToLoad) finishLoadBar();
}
function loadImages(prmPreloadAry)
{
maxToLoad = prmPreloadAry.length;
for (var i=0; i
// Kann via onload im body-tag aufgerufen werden.
function initImages()
{
loadImages(imgPreloadAry);
}
Ciao
versteh versteh. da hast du natürlich recht, mich wunderte nur das der browser alle bilder mit _e am schluss im namen geladen hat und alle bileder mit _d am schluss nicht geladen hat…auch wenn ich das array sozusagen veränderte…immer war es so…strange find ich auch, wenn ich zwischen jedem new Pic…aufruf ein alter hatte wurden immer ALLE bilder geladen mir schien es so wie wenn das js dem browser „zu schnell“ ablaufen würde sodass er sich verschluckt…aber ich versuch mal deine variante…wie findest du wenn man alle bilder einfach 1 x 1 pixel in einen unsichtbaren layer reinlädt? danke und grüsse
ja geht auch, aber warum so kompliziert mit layer und img-Tag. Und bei jedem neuen Bild die Aenderungen dazu. Das Script ist allgemein und man braucht das Array einfach nur um die Images erweitern, die hinzu kommen.