Avatar billede Slettet bruger
08. oktober 2003 - 20:07 Der er 12 kommentarer og
1 løsning

Har brug for MAC skærmdump

Hej!

Jeg har fået at vide at når man klikker på et af billederne på denne side http://silvergroup.dk/vare.php?kat=37&from=2 kommer der en fejlmeddelelse på Mac maskiner.

Kan du af/bekræfte dette og evt. komme med et dump og/eller den fejlmeddelese der kommer?

På forhånd tak :)
Avatar billede hoejrup Nybegynder
08. oktober 2003 - 21:42 #1
Det giver ikke nogen fejl på min Mac, men det var ikke nogen speciel god popup funktion. Kunne det ikke være lavet lidt mere intelligent?

Først kommer der et lille vindue på 30mm x 30mm på skærmen, derefter går der 2-3 sekunder før det rigtige billede kommer på skærmen.

Det er testet i Netscape 7.02 og IE 5.1.6 på Mac OS 9.2.2

Desuden er det problemer med størrelsen af popupen i IE 5.1.6, hvor noget af billedet bliver skæret væk.

Hvorfor laver du ikke en javascript funktion, der tilpasser størrelsen på popup til størrelsen af billedet?

/per
Avatar billede hoejrup Nybegynder
08. oktober 2003 - 21:42 #2
skåret = skæret
Avatar billede olebole Juniormester
09. oktober 2003 - 06:12 #3
<ole>

hoejrup >> Lad os se et bud på en sådan ... uden du på forhånd kender målene på billedet  ;o)

For at kunne sætte målene på popup'en, skal billedet være nede på klienten. Det kan enten ske i popoup'en - som derefter resizes - eller man kan skrive det ind i et skjult div på siden.
Under alle omstændigheder skal du vente på, billedet er færdig-loaded, før du kender dimesionerne på billedet.

Ikke mindst IE6/win kan være længe om at åbne et popup-vindue, så hvis man først skal vente på billedet og derefter på popup'en, vil jeg foretrække el_barto's løsning.

Jeg går dog udfra, billederne bliver uploaded gennem en fil-upload og stien til det lagt i en database. Man kunne så sagtens lave et par ekstra kolonner i DB-tabellen og lægge billedstørrelserne ind der.
  $imDims = getimagesize( $_FILES["userfile"]["tmp_name"] );
lægger et array i variablen '$imDims'. '$imDims[0]' indeholder så bredden og '$imDims[1]' højden - forudsat feltet i upload-formen hed 'userfile'.
Læs nærmere:
  http://dk2.php.net/function.getimagesize

For at gøre DB-arbejdet mindre, kan du sætte størrelserne ind i fil-navnet:

# Her lægger vi størrelsen i navnet
$fName = $_FILES["userfile"]["name"];
$fName = explode( ".", $fName );
$ext = array_pop( $fName );
$imWidth = getimagesize( $_FILES["userfile"]["tmp_name"] );
$fNewName = $fName[0]."_".$imWidth[0]."x".$imWidth[1].".".$ext;
print "Nyt navn: ".$fNewName." - er klart til at bruge<br>\n";

# Her hiver vi størrelsen ud af navnet
preg_match( "/_(\d+)x(\d+)./", $fNewName, $imDims );
$imWidth = $imDims[1];
$imHeight = $imDims[2];
print "Billedet: ".$fNewName." er ".$imWidth."x".$imHeight." pixels";

Den første blok kan du bruge til at lægge billedet på serveren med - med move_uploaded_file() - og til URL'en til DB'en.
Den anden blok bruger du, efter du har hentet URL'en fra DB'en, når billedet skal vises. Variablerne kan herefter skrives ind i JavaScript-kaldet til popup'en ... little more sexy  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
09. oktober 2003 - 06:14 #4
Denne her version af har lidt mere logiske variabel-navne:

# Her lægger vi størrelsen i navnet
$fName = $_FILES["userfile"]["name"];
$fName = explode( ".", $fName );
$ext = array_pop( $fName );
$imDims = getimagesize( $_FILES["userfile"]["tmp_name"] );
$fNewName = $fName[0]."_".$imDims[0]."x".$imDims[1].".".$ext;
print "Nyt navn: ".$fNewName." - er klart til at bruge<br>\n";
Avatar billede hoejrup Nybegynder
09. oktober 2003 - 08:32 #5
olebole>> Hvis han satte det lille vindue til blur. Og først lavede det aktivt, når det var loaded og tilpasset. Så ville det virke lidt mere professionelt.

Du kan sikkert godt få fat på dimensionerne via ImageMagick eller GDlib, så det var måske en mulighed. ;o)

/per
Avatar billede olebole Juniormester
09. oktober 2003 - 08:46 #6
Nej, så ville brugeren klikke på linket 5-6 gange og opgive ... hvorefter popup'en pludselig popper umotiveret op. Det virker ikke mere professionelt ... tværtimod  :)

Ja, man kan sagtens hente dimensionerne med eksterne komponenter, men det er langsommere.
/mvh
Avatar billede hoejrup Nybegynder
09. oktober 2003 - 14:44 #7
olebole>Eller preloade til cache, når folk går ind på websitet.

Noget lignende:

<div style="display: none;">
<img src="gfx/pos/mitbillede.jpg"><img... mv.
</div>

/per
Avatar billede Slettet bruger
09. oktober 2003 - 14:55 #8
ok...kanon snak i fik jer der ;)

Jeg er såmænd fint tilfreds med popup'en, ja vinduet resizer et lille øjeblik efter at man har hentet billedet, og hva så :)

Så der er altså ingen Mac fejl? Jeg forstod det sådan at det var en decideret fejlmeddelelse, men må lige spørge ham igen...
Avatar billede roenving Novice
12. oktober 2003 - 12:38 #9
-- og en resize til billede kan du se her:

http://roenving.users.whitehat.dk/WD1ResizeTilBillede.html
Avatar billede Slettet bruger
12. oktober 2003 - 12:51 #10
roenving> Jeg har en resize der virker fint....
Avatar billede roenving Novice
12. oktober 2003 - 12:55 #11
Jeg kiggede ikke efter i din kode, så jeg ville bare vise den ...

-- og det ser jo også okay ud !-)
Avatar billede Slettet bruger
20. oktober 2003 - 14:13 #12
Nåh, men skal vi lukke her? Svar? ;)
Avatar billede Slettet bruger
22. oktober 2003 - 21:26 #13
nåh ok...lukketid
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