Avatar billede krk Nybegynder
17. februar 2006 - 11:42 Der er 27 kommentarer og
2 løsninger

kan jeg se om billederne bliver preloaded?

Hej.
Jeg sidder stadig og roder med preload af billeder (se http://www.eksperten.dk/spm/688591)
Og måske virker det, men hvordan kan jeg se om det virker?

Nogle gange synes jag at mit galleri viser billederne hurtiger end før, men jeg er ikke helt sikker

Hvis billederne er blevet preloaded vil jeg så kunne finde dem i en midlertidig mappe?
Avatar billede olebole Juniormester
17. februar 2006 - 16:05 #1
<ole>

Menuen :: Funktioner -> Internetindstillinger... -> Generelt -> Indstillinger... -> Vis Filer...

/mvh
</bole>
Avatar billede roenving Novice
17. februar 2006 - 16:08 #2
Sikkert, ja ...

-- men du kan jo også teste det ved at spørge til hvor komplet dine image-objekter er:

<script language="javascript" type="text/javascript">
var x = new Image();
x.src = "../etBillede.jpg";
window.onload = function(){alert(x.complete);}
//tdat.onclick = function anonymous{ alert('virker');};
</script>
Avatar billede roenving Novice
17. februar 2006 - 16:08 #3
-- og kommentaren skulle selvfølgelig ikke med !-)
Avatar billede krk Nybegynder
17. februar 2006 - 18:07 #4
Jeg skal høre om jeg kan se billede i den midlertidige mappe (sti fra olebole) inden billederne er blevet brugt på siden. Jeg har et galleri hvor der bliver vist 1 billede af gangen. For som det er nu kan jeg kun se det første billede (i den midlertidege mappen) som bliver vist i det øjeblik som siden bliver loaded, men jeg kan ikke se de andre billeder før brugeren klikker frem.
Tyder det ikke på at mit javascript ikke rigtig virker?

roenving, jeg har ikke fået prøvet dit ex endnu, men det kommer.
Avatar billede krk Nybegynder
17. februar 2006 - 18:57 #5
roenving, nu har jeg fået prøvet dit eksempel og det virker fint. Men hvad skriver jeg hvis det er alle billeder i en mappe (kaldt upload) jeg skal have preloadet - hvordan gør jeg det.
Jeg skal selvfølgelig nok afsætte flere point
Avatar billede olebole Juniormester
17. februar 2006 - 19:25 #6
JS kan ikke læse din mappe, så du skal have PHP til at skrive et array ud med filernes navne:

<script type="text/JavaScript">
var wwwPath = "http://www.domain.dk/sti/til/mappe/";
var aPics = [
    "billedeA.jpg",
    "billedeB.jpg",
    "billedeC.jpg",
    "billedeD.jpg",
    "billedeE.jpg"
];

for (var i=0; i<aPics.length; i++) {
    var im = new Image();
    im.src = wwwPath + aPics[i];
}
</script>
Avatar billede krk Nybegynder
17. februar 2006 - 19:51 #7
Jeg har været i gang med php uden det store helt :-) Er det noget du er god til. Jeg kan sige at fil-navnene på billederne ligger i et felt (pets_billede) i databasen.

Koden:
<script type="text/javascript">
<?php
$query = mysql_connect($host, $user, $pass);
mysql_select_db($db);

$query  =  mysql_query(" SELECT  `pets_billede` FROM `pets_galleri` ORDER BY `pets_id` DESC ") or die( mysql_error () );
while( $result  =  mysql_fetch_assoc( $query ))
{
    print "image" . $result[pets_billede] . " = new Image();\r\n";
    print "image" . $result[pets_billede] . ".src = 'upload/" . $result[pets_billede] . "';\r\n";
}
?>
</script>

ex. på $pets_billede = olivia21.jpg
Siden kan ses på: http://www.kryt.dk/olivia/admin/content/preload.php
Avatar billede krk Nybegynder
17. februar 2006 - 19:56 #8
jeg tror det måske har noget med det "image" der står lige efter "print".
Jeg har prøvet og fjerne det så der står:
{
    print "" . $result[pets_billede] . " = new Image();\r\n";
    print "" . $result[pets_billede] . ".src = 'upload/" . $result[pets_billede] . "';\r\n";
}

men det virker heller ikke.
Kan du hjælpe eller skal jeg over i php kategorien
Avatar billede olebole Juniormester
17. februar 2006 - 20:06 #9
Her er løkken, der skriver det array ud, jeg skrev i mit forrige indlæg:

$s = "aPics = [";
while( $result = mysql_fetch_assoc( $query )) {
    $s .= "\"" . $result["pets_billede"] . "\",";
}
$s = substr($s, 0, strlen($s)-1)
$s .= "];";

- det skriver altså:

var aPics = [
    "billedeA.jpg",
    "billedeB.jpg",
    "billedeC.jpg",
    "billedeD.jpg",
    "billedeE.jpg"
];

Så skulle resten vist være lige til  :)
Avatar billede olebole Juniormester
17. februar 2006 - 20:07 #10
mjaahhh ... for en ordens skyld, må vi hellere erklære variablen på en ordentlig måde:
    $s = "var aPics = [";
Avatar billede olebole Juniormester
17. februar 2006 - 20:08 #11
- og det skal zq da osse skrives ud til sidst  :D
Det hele ser sådan ud i rettet tilstand:

$s = "var aPics = [";
while( $result = mysql_fetch_assoc( $query )) {
    $s .= "\"" . $result["pets_billede"] . "\",";
}
$s = substr($s, 0, strlen($s)-1)
$s .= "];";
print $s;

Så burde det holde  ;o)
Avatar billede olebole Juniormester
17. februar 2006 - 20:10 #12
damned ... jeg bliver ved:
    $s = substr($s, 0, strlen($s)-1);  <-- Husk semikolon her
Avatar billede krk Nybegynder
17. februar 2006 - 20:30 #13
det prøver jeg at kigge på i morgen - jeg orker simpelhen ikke mere idag.
Avatar billede olebole Juniormester
17. februar 2006 - 20:32 #14
Hehe ... okay - så må roenving nok hjælpe, da jeg er væk en tid  ;o)
Avatar billede krk Nybegynder
17. februar 2006 - 20:33 #15
det kan du ikke mene, hvad skal jeg så gøre ;-)
Avatar billede krk Nybegynder
17. februar 2006 - 20:39 #16
jeg skal slutte min ?> efter print $s og så hereefter skive for loopet? Jeg kan stadig ikke få det til at virke.
Det virker fint med at skrive var aPics = [
    "billedeA.jpg",
    "billedeB.jpg",
    "billedeC.jpg",
    "billedeD.jpg",
    "billedeE.jpg"
];

men ikke med for loopet.
Skal jeg sende dig koden?
Avatar billede olebole Juniormester
17. februar 2006 - 20:40 #17
*LoL* du kan være helt rolig ... du er i absolut trygge hænder blandt roenvings fumlevorter  ;D
Avatar billede olebole Juniormester
17. februar 2006 - 20:44 #18
Her er das ganzen schweinerei ... eller hvad de nu siger i det dansk/franske sudeterland:

<script type="text/javascript">
var wwwPath = "http://www.domain.dk/sti/til/billedmappe/";
<?php
$query = mysql_connect($host, $user, $pass);
mysql_select_db($db);
$query  =  mysql_query(" SELECT  `pets_billede` FROM `pets_galleri` ORDER BY `pets_id` DESC ") or die( mysql_error () );

$s = "var aPics = [";
while( $result = mysql_fetch_assoc( $query )) {
    $s .= "\"" . $result["pets_billede"] . "\",";
}
$s = substr($s, 0, strlen($s)-1);
$s .= "];";
print $s;
?>
for (var i=0; i<aPics.length; i++) {
    var im = new Image();
    im.src = wwwPath + aPics[i];
}
</script>
Avatar billede krk Nybegynder
17. februar 2006 - 20:50 #19
kildekoden er sådan ud:
<script type="text/javascript">
var wwwPath = "http://kryt.dk/olivia/admin/content/upload/";
var aPics = ["olivia21.jpg","olivia20.jpg","olivia19.jpg","olivia18.jpg","olivia17.jpg","olivia16.jpg","olivia15.jpg","olivia14.jpg","olivia13.jpg","olivia12.jpg","olivia11.jpg","olivia10.jpg","olivia9.jpg","olivia8.jpg","olivia7.jpg","olivia6.jpg","olivia5.jpg","olivia4.jpg","olivia3.jpg","olivia2.jpg","olivia1.jpg"];for (var i=0; i<aPics.length; i++) {
    var im = new Image();
    im.src = wwwPath + aPics[i];
}
</script>

jeg havde forventet at der også stod noget med:
x = new Image();
x.src = "../olivia1.jpg";
x = new Image();
x.src = "../olivia2.jpg";
...osv
Avatar billede olebole Juniormester
17. februar 2006 - 20:50 #20
PS: at det ikke virkede for dig, er måske, du har overset denne linje, der skal indeholde stien til din billedmappe:
    var wwwPath = "http://www.domain.dk/sti/til/billedmappe/";

- men det kræver, der kun står et billednavn i DB'en ... uden sti af nogen art, da de to smedes sammen i linjen:
    im.src = wwwPath + aPics[i];

- ellers må du lige sige til  :)
Avatar billede krk Nybegynder
17. februar 2006 - 20:53 #21
undskyld, det ser ud til at virke fint. Nu kan jeg ihverfald se billederne i den midlertidige mappe.
Det var vel nok godt jeg ikke stoppede tidligere
Avatar billede krk Nybegynder
17. februar 2006 - 20:54 #22
tak for hjælpen. Du henter bare point... og det sakl nok blive mere end de 30 jeg afsatte i starten ;-)
Avatar billede olebole Juniormester
17. februar 2006 - 20:55 #23
Ja, hos mig banker Olivia i hvertfald lige lukt ned på min HD i et utal af afskygninger  :)
Avatar billede olebole Juniormester
17. februar 2006 - 20:57 #24
Selvtak - hvad siger roenving? Han var jo faktisk først med at vise princippet - og de 30 points er helt fint. Hverken roenving eller jeg 'sulter' ligefrem  ;o)
Avatar billede krk Nybegynder
17. februar 2006 - 21:01 #25
Det er fint med mig hvis I vil dele, I bestemmer
Avatar billede olebole Juniormester
17. februar 2006 - 21:08 #26
Vi venter lige på roenving, så
Avatar billede roenving Novice
18. februar 2006 - 13:11 #27
Jeg er da helt med på en deler, men ingen tvivl om at ole trak læsset, det kunne fordelingen jo afspejle !-)

Velbekomme '-)
Avatar billede krk Nybegynder
18. februar 2006 - 14:55 #28
Tak for hjælpen begge to
Avatar billede roenving Novice
24. februar 2006 - 16:12 #29
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester