Shop-Hilfe.com
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 22.01.2006, 19:37   #1
TP-Insider
 
Benutzerbild von bona
 
Registriert seit: Oct 2005
Ort: schweiz (Lupfig)
bona macht sich hier sehr viel Mühe

Bilder vorladen?


Hallo zusammen,
habe eine frage,
kann man mit javascript bilder vorladen?

damit meine ich, sobald man auf die seite kommt, werden alle bilder auf dem Pc temporär gespeichert....

und wenn das laden dann lange geht, ein ladebalken anzeigenlassen...


kennt jemand ein tutorial über dieses "problemchen"??

mfg bona
__________________
gruss bona
www.elbona.ch
Never wrestle with a pig, because you both get dirty, but the pig likes it!
bona ist offline   Mit Zitat antworten


Alt 23.01.2006, 00:12   #2
TP-Moderator
 
Benutzerbild von Nightline
 
Registriert seit: Jan 2003
Ort: Wien
Nightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKE
Gib bei Google oder hier in der Suche einfach "Bilder vorladen" ein und du wirst massenhaft Lösungen vorfinden.
__________________
+lg Nightline
-------------------------
Fotos von Reisen und Veranstaltungen: http://www.coeser.de/ontour
Fotoportfolio: http://www.coeser.de/showcase/
DeviantArt-Account: http://nightline.deviantart.com
Nightline ist offline   Mit Zitat antworten
Alt 23.01.2006, 00:29   #3
321
TP-Specialist
 
Benutzerbild von 321
 
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
321 hilft, wo's geht321 hilft, wo's geht321 hilft, wo's geht
Das Vorladen ist einfach:

Im <head>-Bereich!
HTML-Code:
<script language="JavaScript">
<!--
if(document.images) {
Bild0 = new Image();
Bild0.src = "personal/Maskottchen_Walker.jpg";
Bild1 = new Image();
Bild1.src = "personal/maxmuster.jpg";
}
-->
</script>
Die Variablennamen Bild0 usw tun nichts zur Sache, Du kannst die Bilder normal ansprechen: <img src="personal/maxmuster.jpg" ....> usw.

Einen Fortrschrittsbalken machte ich noch nie, muss mal googeln
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]


use my HTML-Tester

Motto'06: Mut zur deutschen Sprache!
321 ist offline   Mit Zitat antworten
Alt 23.01.2006, 10:21   #4
TP-Specialist
 
Benutzerbild von rewboss
 
Registriert seit: Mar 2005
Ort: Unterfranken
rewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKE
Bilder vorladen ist nur dann sinnvoll, wenn die Bilder nicht auf der Seite verwendet werden sollen, sondern erst auf der nächsten. Zum Beispiel, man könnte die Bilder vorladen auf einer Seite mit viel Text. Bis der User dann alles durchgelesen hat, sind dann alle Bilder heruntergeladen und wenn er auf die nächste Seite klickt, sind alle Bilder schon da. (Wenn er aber den Text nicht gelesen hat, muss er halt, wie normal, warten.)

Ohne JavaScript geht es übrigens auch:

<img src="irgendeinbild.jpg" width="1" height="1">

Das Bild ist dann praktisch unsichtbar. (Ich weiß nicht, ob es auch mit width="0" height="0" geht, aber probieren könntest du das.)

Ein Ladebalken ist möglich, aber in wie weit er sinnvoll ist weiß ich nicht. Man kann aber GIF- und JPEG-Bilder immer so speichern, dass sie relativ schnell angezeigt werden, zunächst unscharf dann immer schärfer. Bei GIF heißt es "interlacing" oder "verflechten" o.ä.; bei JPEG "progressiv". Zwar werden die Bilder nicht schneller heruntergeladen, aber es kommt einem fast so vor.
rewboss ist offline   Mit Zitat antworten
Alt 23.01.2006, 15:24   #5
321
TP-Specialist
 
Benutzerbild von 321
 
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
321 hilft, wo's geht321 hilft, wo's geht321 hilft, wo's geht
Zitat:
Zitat von rewboss
Bilder vorladen ist nur dann sinnvoll, wenn die Bilder nicht auf der Seite verwendet werden sollen, sondern erst auf der nächsten.

<img src="irgendeinbild.jpg" width="1" height="1">
Man wartet zwar, aber dafür wird die Seite dann gleich vollständig angezeigt.

1x1px-Bilder machte ich auch schon, sie können aber in einem 'delikaten' Design störend auffallen.

width="0" height="0" sei nicht cross-browser-sicher. (Las ich mal bei meyerweb)
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]


use my HTML-Tester

Motto'06: Mut zur deutschen Sprache!
321 ist offline   Mit Zitat antworten
Alt 23.01.2006, 18:55   #6
TP-Moderator
 
Benutzerbild von Nightline
 
Registriert seit: Jan 2003
Ort: Wien
Nightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von 321
1x1px-Bilder machte ich auch schon, sie können aber in einem 'delikaten' Design störend auffallen.
Ich lade deshalb Bilder immer in einer unsichtbaren Ebene vor.
__________________
+lg Nightline
-------------------------
Fotos von Reisen und Veranstaltungen: http://www.coeser.de/ontour
Fotoportfolio: http://www.coeser.de/showcase/
DeviantArt-Account: http://nightline.deviantart.com
Nightline ist offline   Mit Zitat antworten
Alt 23.01.2006, 19:52   #7
TP-Moderator
 
Benutzerbild von Malleus
 
Registriert seit: Aug 2004
Ort: Homburg / Saarland
Malleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKE
Bzgl. Fortschrittsanzeige: Schau' Dir mal mein Beispiel an:

Code:
<html>
<head>
<title>Malleus' Javascript FAQ: Preload Images</title>
<meta name="keywords" content="Javascript, Bilder vorladen ">
<style type="text/css">

#statusBox {
	width:150px;
	height:20px;
	border:solid 1px black;
}

#statusBar {
background-color:yellow;
}

</style>

<script language="JavaScript" type="text/javascript">
var imgPath = "pics/",
imgNames = [ "Gretel01.jpg" , "Gretel02.jpg" , "Gretel03.jpg" , "Gretel04.jpg" ];

function getObj(objId)
{
return document.getElementById(objId);
};

function initPage()
{
	oStatusBox = getObj( "statusBox" );
	oStatusBar = getObj( "statusBar" );
	oStatusText = getObj( "statusText" );

	oTheImageLinks = getObj( "theImageLinks" );
	oTheImage = getObj( "theImage" );

	statusBoxWidth = parseInt( oStatusBox.clientWidth );

	imagesLoaded = 0;
	images2Preload = imgNames.length;

	for (var i = 0 ; i < imgNames.length ; i++ )
	{
	    var newImage = new Image();
	    newImage.onload = function () { imageIsLoaded( this ) };
	    newImage.src = imgPath + imgNames[i];

	    imageIsLoaded( newImage );
    };

};

function imageIsLoaded( newImage )
{
    if ( newImage.alreadyLoaded || newImage.width == 0)
	    	return true;

    newImage.alreadyLoaded = true;

    ++imagesLoaded;

    var alreadyLoaded = ( 100 * imagesLoaded / images2Preload );

    oStatusText.innerHTML = alreadyLoaded + " %";

    oStatusBar.style.width = ( statusBoxWidth * alreadyLoaded / 100 );

    if ( alreadyLoaded == 100 )
    {
   		// Alle Bilder wurden geladen
		oTheImageLinks.style.display="block";
	};

};

function showImage(evt)
{
	var srcElement = evt.srcElement || evt.targetElement;

	var imageNr = 1 * srcElement.id.substr(1);

	if ( !isNaN( imageNr ) )
	{
		oTheImage.src = imgPath + imgNames[ imageNr ];
		oTheImage.style.display = "block";
	}
	else
	{
		oTheImage.style.display = "none";
	};
};

</script>
</head>
<body onload="initPage()">

<div id="statusBox" style="position:relative">
<div id="statusBar" style="position:absolute;height:100%;overflow:hidden"></div>
<div id="statusText" style="position:absolute;width:100%;height:100%;text-align:center"></div>
</div>

<br>

<div id="theImageLinks" onmouseover="showImage(event)" style="display:none"><span id="I0">Bild 1</span>&nbsp;<span id="I1">Bild 2</span>&nbsp;<span id="I2">Bild 3</span>&nbsp;<span id="I3">Bild 4</span></div>
<img id="theImage" style="display:none" src=""/>

</body>
</html>


Wenn ich Bilder per HTML vorlade, mache ich es ähnlich wie Nightline:

Code:
<img src="aaa.jpg" style="position:absolute;top:-1000px;left:-1000px"/>

tschau

Geändert von Malleus (24.01.2006 um 19:35 Uhr).
Malleus ist offline   Mit Zitat antworten
Alt 16.02.2006, 12:19   #8
TP-Moderator
 
Benutzerbild von Malleus
 
Registriert seit: Aug 2004
Ort: Homburg / Saarland
Malleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKE
Hi, ich hätte mal eine Bitte: Könnt' Ihr mal mein PreloadScript-testen?

Ich hab' gehört und auch leider selbst festgestellt, daß der Balken nicht immer auf 100% geht.

Hier die "neue" Version:

PreloadImages.html (Final)

Bitte testen mit leerem und "vollem" Cache. Wenn's nicht geklappt hat, bitte auf den Button drücken und den Text posten. Danke!

Frank

Geändert von Malleus (20.02.2006 um 20:37 Uhr).
Malleus ist offline   Mit Zitat antworten
Alt 19.02.2006, 23:21   #9
TP-Moderator
 
Benutzerbild von Nightline
 
Registriert seit: Jan 2003
Ort: Wien
Nightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKENightline ist ein richtiges Arbeitstier - DANKE
Im IE6 bei allen drei Beispielen kein Problem.
__________________
+lg Nightline
-------------------------
Fotos von Reisen und Veranstaltungen: http://www.coeser.de/ontour
Fotoportfolio: http://www.coeser.de/showcase/
DeviantArt-Account: http://nightline.deviantart.com
Nightline ist offline   Mit Zitat antworten
Alt 20.02.2006, 17:14   #10
TP-Insider
 
Benutzerbild von bona
 
Registriert seit: Oct 2005
Ort: schweiz (Lupfig)
bona macht sich hier sehr viel Mühe
mit dem ff den ich hab gehts auch :P weiss aber nicht genau welche version dies ist....

mit dem netscape 7.1 sieht man beim ersten nur die % und den balken nicht
beim 2. ist das % in der mitte des bildschirmes, der balken kommt nicht und das klick me geht auch nicht
beim 3. dasselbe, aber die bilder sind dort.

und mitm opera (weiss auchnicht welche version, denke aber schon die neuste :P) geht auch alles perfekt...

gruss bona
__________________
gruss bona
www.elbona.ch
Never wrestle with a pig, because you both get dirty, but the pig likes it!
bona ist offline   Mit Zitat antworten
Alt 20.02.2006, 20:44   #11
TP-Moderator
 
Benutzerbild von Malleus
 
Registriert seit: Aug 2004
Ort: Homburg / Saarland
Malleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKE
Danke für Eure Tests. Anscheinend hab' ich den Käfer erlegt. Ich hatte Probleme mit dem FF, der feuert manchmal das "Onload"-Event bei einem IMG-Element nicht.

Für alle die's interessiert: In der neuen Version hab' ich folgendes geändert:

Code:
var newImage = new Image();
newImage.onload = imageIsLoaded;
oPreloadBox.appendChild( newImage ); // Das ist der Bugfix !!!

newImage.src = imgPath + imgNames[i];
};


<div id="preloadBox" style="display:none"></div>
Wenn ich die Zeile mit dem "appendChild" weglasse, geht's "manchmal" mit FF schief. Ich füge das zu preloadende Bild in ein unsichtbares DIV-Element ein und es funktioniert. Wahrscheinlich ist's ein "FF"-Bug.

Tschau

Frank
Malleus ist offline   Mit Zitat antworten
Alt 30.08.2006, 20:32   #12
TP-Member
 
Benutzerbild von Mortis
 
Registriert seit: May 2005
Mortis macht alles soweit korrekt
Kurze b00N-Frage : Wohin schreibt ihr diesen Code?
PHP-Code:
<img src="aaa.jpg" style="position:absolute; top:-1000px; left:-1000px" alt="" border="0"/> 
Ich habe es einfach ins erste <div> geschrieben für alle vorzuladenden Bilder. Ist das ok?
Oder öfnnet ihr extra ein <a> dafür?
Oder ist das total egal und ich sollte meine Zeit lieber für was besseres als so lächerliche Fragen nutzen?

Geändert von Mortis (30.08.2006 um 20:36 Uhr).
Mortis ist offline   Mit Zitat antworten
Alt 01.09.2006, 15:55   #13
TP-Insider
 
Benutzerbild von bona
 
Registriert seit: Oct 2005
Ort: schweiz (Lupfig)
bona macht sich hier sehr viel Mühe
ich glaube das kommt nicht darauf an wo das es ist. Man sieht es ja eh nicht
Es sollte logischerweise einfach auf der Seite sein, die geladen wird
(aber habe es noch nicht selber gemacht, das da oben ist nur ne vermutung)
__________________
gruss bona
www.elbona.ch
Never wrestle with a pig, because you both get dirty, but the pig likes it!
bona ist offline   Mit Zitat antworten
Alt 03.09.2006, 22:21   #14
TP-Member
 
Benutzerbild von Mortis
 
Registriert seit: May 2005
Mortis macht alles soweit korrekt
Ok, dachte ich mir schon. Danke.

Kann ich denn dieses Preload per <img src...> irgendwie in die css-Datei verbannen? Dann könnte ich diese Preload-Liste leichter verwalten!
Mortis ist offline   Mit Zitat antworten
Alt 05.09.2006, 07:52   #15
TP-Insider
 
Benutzerbild von bona
 
Registriert seit: Oct 2005
Ort: schweiz (Lupfig)
bona macht sich hier sehr viel Mühe
den ganzen <img> tag geht nicht, oder ich wüsst nicht wie.
aber du könntest ihn verkleinern.
sprich dem img eine klasse (z.b. "preload") geben und dann so die style sachen in die CSS datei auslagern.


CSS:
Code:
img.preload {
 border : o;
 position:absolute;
 position-top:-1000px; 
 position-left:-1000px;
}
HTML:
Code:
<img class="preload" src="aaa.jpg" alt="" />
__________________
gruss bona
www.elbona.ch
Never wrestle with a pig, because you both get dirty, but the pig likes it!
bona ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > HTML Puristen > Javascript
Bilder vorladen? Bilder vorladen?
« Mit JS in .txt schreiben? | JS-Wert versteckt an PHP übergeben? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:00 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65