preload und performance

Status
Nicht offen für weitere Antworten.

deusfalsus

Erfahrenes Mitglied
Salvete!

Ich hab mittels einer dw extension (von der macromedia homepage) einen preloader für Teile meiner Seite gebaut. Nur leider wird kein ladebalken angezeigt. Durch Markieren kann ich in sichtbar machen, allerdings nur im ganzen, nicht wachsend. Ich habe die notwendigen gif´s im richtigen Ordner. Fehler werden keine gemeldet und irgendwann wird die angegebene Seite geladen.
Ein anderes dringendes Problem ist die Performance der ganzen Seite. Trotz preloads dauern die rollover-effekte ewig, bleiben auch gern mal hängen. Gelegentlich verschwindet auch mal ein Button beim Anklicken.(?) Taucht aber später wieder auf.
Wenn ich, nachdem ich alle Seiten einmal besucht habe, die vorwärts- und rückwärtstasten meiner maus nutze, sind alle Seiten ruck-zuck am start. Wähle ich hingegen erneut über die buttons an, wird die seite neu geladen, und bummelt mitunter auch mächtig. Was kann ich da tun?
Wer kann mir beim Lösen meiner Probleme helfen?

Die Seite, um die es geht: http://www.honeytoast.net
 
Hi,

ein paar sachen vorweg:
1) Bei mir gibts keine Speed Probleme - auch keine Darstellungsfehler (DSL)

2) Bei solchen Problemen (Scrollbar) hilft der jeweilig Code oder die jeweiligen Dateien ungemein weiter.

3) Wenn schon kein Code, dann lass wenigsten temporär dein Antirightclick Script weg - es nervt einfach wegen sowas extra einen anderen Browser starten zu müssen bzw den Browser Cache durchforsten zu müssen...

4) bei mir war kein Ladebalken zu sehen - auf welcher Seite sollte er denn kommen ?



bye
 
zum Preloader - hab ihn gefunden ;)
PHP:
function MM_preloadImages() { //v3.0
  var d=document; 
  if(d.images)
  { 
      if(!d.MM_p) 
         d.MM_p=new Array();
      var i,j=d.MM_p.length, a=MM_preloadImages.arguments; 

      for(i=0; i<a.length; i++)
         if (a[i].indexOf("#")!=0)
         {
             d.MM_p[j]=new Image; 
             d.MM_p[j++].src=a[i];
         }
  }
}

...

onLoad="MM_preloadImages
('images/button_news_zustand2.jpg'
,'images/button_band_zustand2.jpg'
,'images/button_dates_zustand2.jpg'
,'images/button_media_zustand2.jpg'
,'images/button_shop_zustand2.jpg'
,'images/button_guests_zustand2.jpg'
,'images/button_contact_zustand2.jpg')"

Ich würde jetzt in diesem Code keine "Ausgabe" sehen - ist imo klar, dass kein Preloader zu sehen ist - Es wird ja nirgends was geschrieben...

bye
 
die seite "media" soll vorgeladen werden, dafür steht folgendes in der preload_media.php (den anti-rechtsklick hab ich dort entfernt,hätt ich gleich drandenken sollen, sorry) :

Code:
<script language="JavaScript1.1">
var locationAfterPreload = "media.php" // URL of the page after preload finishes
var lengthOfPreloadBar = 100 // Length of preload bar (in pixels)
var heightOfPreloadBar = 15 // Height of preload bar (in pixels)
// Put the URLs of images that you want to preload below (as many as you want)
var yourImages = new Array("images/button_download1.jpg","images/button_download2.jpg","images/button_lyrics_1.jpg","images/button_lyrics_2.jpg","images/button_pictures_zustand1.jpg","images/button_pictures_zustand2.jpg","images/button_press_zustand1.jpg","images/button_press_zustand2.jpg","images/button_sound_zustand1.jpg","images/button_sound_zustand2.jpg","images/ummedia2.jpg","images/pix2.jpg","photos/thumb_April01EBurg-05.jpg","photos/thumb_eburg-erfurt.jpg","photos/thumb_f6-musicaward-1.jpg","photos/thumb_f6-musicaward-2.jpg","photos/thumb_jens_1.jpg","photos/thumb_ralf_1.jpg","photos/thumb_steffen_1.jpg","photos/thumb_steffen_1.jpg","photos/thumb_zvbunker-chemnitz.jpg")
// Do not modify anything beyond this point!
if (document.images) {
var dots = new Array() 
dots[0] = new Image(1,1)
dots[0].src = "images/pl1.gif" // default preloadbar color (note: You can substitute it with your image, but it has to be 1x1 size)
dots[1] = new Image(1,1)
dots[1].src = "images/pl2.gif" // color of bar as preloading progresses (same note as above)
var preImages = new Array(),coverage = Math.floor(lengthOfPreloadBar/yourImages.length),currCount = 0
var loaded = new Array(),i,covered,timerID
var leftOverWidth = lengthOfPreloadBar%coverage
}
function loadImages() { 
for (i = 0; i < yourImages.length; i++) { 
	preImages[i] = new Image()
	preImages[i].src = yourImages[i]
}
for (i = 0; i < preImages.length; i++) { 
	loaded[i] = false
}
checkLoad()
}
function checkLoad() {
if (currCount == preImages.length) { 
	location.replace(locationAfterPreload)
	return
}
for (i = 0; i <= preImages.length; i++) {
	if (loaded[i] == false && preImages[i].complete) {
		loaded[i] = true
		eval("document.img" + currCount + ".src=dots[1].src")
		currCount++	}
}
timerID = setTimeout("checkLoad()",10) 
}
// end hiding -->
</script>
</head>
<body bgcolor="#000000" text="#FFFFFF" background="images/hg_rechts.jpg">
<NOSCRIPT>
<p align="center">
Sie haben JavaScript deaktiviert. Damit diese Seite korrekt funktioniert, m&uuml;ssen Sie in Ihrem Browser JavaScript aktivieren.
</NOSCRIPT>
<center><br><br><br><br>
loading media
<br><br> <br><br>
  <script language="javascript1.1">
<!-- begin hiding
// It is recommended that you put a link to the target URL just in case if the visitor wants to skip preloading
// for some reason, or his browser doesn't support JavaScript image object.
if (document.images) {
var preloadBar = ''
for (i = 0; i < yourImages.length-1; i++) {
	preloadBar += '<img src="' + dots[0].src + '" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">'
}
preloadBar += '<img src="' + dots[0].src + '" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (yourImages.length-1) + '" align="absmiddle">'
document.write(preloadBar)
loadImages()
document.write('<br><p><a href="javascript:location.replace(locationAfterPreload)">Skip Preloading</a></p>')

}
// end hiding -->
</script>
</center>



</div>
</body><script language="JavaScript1.1">
var locationAfterPreload = "media.php" // URL of the page after preload finishes
var lengthOfPreloadBar = 100 // Length of preload bar (in pixels)
var heightOfPreloadBar = 15 // Height of preload bar (in pixels)
// Put the URLs of images that you want to preload below (as many as you want)
var yourImages = new Array("images/button_download1.jpg","images/button_download2.jpg","images/button_lyrics_1.jpg","images/button_lyrics_2.jpg","images/button_pictures_zustand1.jpg","images/button_pictures_zustand2.jpg","images/button_press_zustand1.jpg","images/button_press_zustand2.jpg","images/button_sound_zustand1.jpg","images/button_sound_zustand2.jpg","images/ummedia2.jpg","images/pix2.jpg","photos/thumb_April01EBurg-05.jpg","photos/thumb_eburg-erfurt.jpg","photos/thumb_f6-musicaward-1.jpg","photos/thumb_f6-musicaward-2.jpg","photos/thumb_jens_1.jpg","photos/thumb_ralf_1.jpg","photos/thumb_steffen_1.jpg","photos/thumb_steffen_1.jpg","photos/thumb_zvbunker-chemnitz.jpg")
// Do not modify anything beyond this point!
if (document.images) {
var dots = new Array() 
dots[0] = new Image(1,1)
dots[0].src = "images/pl1.gif" // default preloadbar color (note: You can substitute it with your image, but it has to be 1x1 size)
dots[1] = new Image(1,1)
dots[1].src = "images/pl2.gif" // color of bar as preloading progresses (same note as above)
var preImages = new Array(),coverage = Math.floor(lengthOfPreloadBar/yourImages.length),currCount = 0
var loaded = new Array(),i,covered,timerID
var leftOverWidth = lengthOfPreloadBar%coverage
}
function loadImages() { 
for (i = 0; i < yourImages.length; i++) { 
	preImages[i] = new Image()
	preImages[i].src = yourImages[i]
}
for (i = 0; i < preImages.length; i++) { 
	loaded[i] = false
}
checkLoad()
}
function checkLoad() {
if (currCount == preImages.length) { 
	location.replace(locationAfterPreload)
	return
}
for (i = 0; i <= preImages.length; i++) {
	if (loaded[i] == false && preImages[i].complete) {
		loaded[i] = true
		eval("document.img" + currCount + ".src=dots[1].src")
		currCount++	}
}
timerID = setTimeout("checkLoad()",10) 
}
// end hiding -->
</script>
</head>
<body bgcolor="#000000" text="#FFFFFF" background="images/hg_rechts.jpg">
<NOSCRIPT>
<p align="center">
Sie haben JavaScript deaktiviert. Damit diese Seite korrekt funktioniert, m&uuml;ssen Sie in Ihrem Browser JavaScript aktivieren.
</NOSCRIPT>
<center><br><br><br><br>
loading media
<br><br> <br><br>
  <script language="javascript1.1">
<!-- begin hiding
// It is recommended that you put a link to the target URL just in case if the visitor wants to skip preloading
// for some reason, or his browser doesn't support JavaScript image object.
if (document.images) {
var preloadBar = ''
for (i = 0; i < yourImages.length-1; i++) {
	preloadBar += '<img src="' + dots[0].src + '" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">'
}
preloadBar += '<img src="' + dots[0].src + '" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (yourImages.length-1) + '" align="absmiddle">'
document.write(preloadBar)
loadImages()
document.write('<br><p><a href="javascript:location.replace(locationAfterPreload)">Skip Preloading</a></p>')

}
// end hiding -->
</script>



der preloader, den du gefunden hast, war für die gesamte seite gedacht. Hab ihn wegen dauernden Steckenbleibens wieder rausgenommen.

Kann ich den browser zwingen, gleich die dateien, sofern vorhanden, aus den temporary internet files zu nutzen?
 
Anregung...

...hab mir Deine Seite mal angeschaut und finde das Äussere schon sehr ansprechbar. Eine Kritik muss ich allerdings loswerden wenn Du deine Gäste nicht verärgern möchtest.
Wenn der Buttom Media gedrückt wird macht sich Dein Menue

Picture - Sound - Press

auf. Von Picture gelange ich auf

Live - Shooting - etc...

Ich komme aber von live oder Shooting nicht mehr zurück auf Picture+Sound+Press. Nun muss ich wieder auf Media gehen. Du solltest den User immer die möglichkeit geben sich zurückbewegen zu können. Dies ist meine Meinung und natürlich nicht Bindend. Sollte nur als Vorschlag gelten.
cu
:::WuScheL:::
 
Original geschrieben von deusfalsus
die seite "media" soll vorgeladen werden, dafür steht folgendes in der preload_media.php (den anti-rechtsklick hab ich dort entfernt,hätt ich gleich drandenken sollen, sorry) :
OK - dankeschön

[...]

Kann ich den browser zwingen, gleich die dateien, sofern vorhanden, aus den temporary internet files zu nutzen?
Zwingen kann man in nicht, aber er wird es immer aus dem Cache holen, sofern sie dort vorhanden sind...

Soviel vorweg - den Preloadercode führ ich mir später zu gemüte :)


bye
 
Hallo,

du gibts bei dir im Code
PHP:
dots[0] = new Image(1,1)
dots[0].src = "images/pl1.gif" // default preloadbar color (note: You can substitute it with your image, but it has to be 1x1 size)
dots[1] = new Image(1,1)
dots[1].src = "images/pl2.gif
an. pl1.gif und pl2.gif gibt es nicht - es gibt aber pl1.jpg und pl2.jpg ;) Diese solltest du aber noch Optimieren - 8kb für eine 1x1 Picel kleine Grafik sind zu heftig...

ciao
 
vielen dank!! Was für ein blöder fehler. Das kommt, wenn man stundenland in irgendwelchen skripten wurstelt - irgendwann verliert man die Blickung.
Damit wäre mein eines problem gelöst.
Nichtsdestotrotz nervt es mich, dass die Rollovers so lahmen und manchmal beim anklicken verschwinden. Kann man da was tun?

an denWuschel: Stimmt. ich bin auch grad am basteln. Leider hab ich mir grade eine funktion, die bis vorhin ging, zerballert. *haarerauf*
Aber du hast recht, bis heute abend hab ich das sicher erledigt.
 
Also wie bereits gesagt - bei mir treten absolut keine performance probleme auf - ansonsten ist deine einzge Möglichkeit die einzelnen Grafik zu Optimieren bzw Kompremieren. Ein umzug auf einen schnelleren Server würde auch noch was bringen, ist aber wohl indiskutabel. Du könntest auch die Pix schon im Hintergrund laden, wenn der User die Sprache wählt. Also ein Frameset mit 100%,* - in dem * Frame lässt du die Pic´s laden - wird niemand sehen :)... Dann könntest du schon alle Pic´s laden, während die Leute sich einen Überblick verschaffen - die Startseite bleibt ja die ganze Zeit offen :)

bye
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück