Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[JS] popup programma kieskeurig?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Al een tijdje ben ik bezig met een site voor een kennis, nu staan daar veel foto's op die allemaal uitvergroot worden in een popup venstertje, die ze weergeeft zonder witte randen.

Nu blijkt dat bij sommige foto's hij wel een grote witte rand weergeeft.

De code:
JavaScript:
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
function Foto(img,txt){
 foto1= new Image();
 foto1.src=(img);
 CheckFoto(img,txt);
}
function CheckFoto(img,txt){
 if((foto1.width!=0)&&(foto1.height!=0)){
 viewFoto(img,txt);
}
else{
 uitvoering="CheckFoto('"+img+"','"+txt+"')";
 interval=setTimeout(uitvoering,20);
}
}
function viewFoto(img,txt){
 imgbreedte=foto1.width;
 imghoogte=foto1.height;
 if (!txt) {txt=img}
 vars="width="+imgbreedte+",height="+imghoogte+",left="+((screen.width-imgbreedte)/2)+",top="+((screen.height-imghoogte)/2);
 newwindow=window.open("","nieuwvenster",vars);
 newwindow.document.clear();
 
newwindow.document.write("<html>\n<head>\n<title>"+[b]txt[/b]+"</title>\n");
 newwindow.document.write("<meta http-equiv=\"imagetoolbar\" content=\"no\">\n");
 newwindow.document.write("</head>\n\n<body style=\"margin:0px; padding:0px;\" onBlur=\"window.close()\">\n"); 
 newwindow.document.write("<img src=\""+img+"\" border=\"0\" onclick=\"javascript:window.close()\">\n"); 

 newwindow.document.write("</body>\n</html>\n"); 
 if (newwindow.document.focus) {newwindow.document.focus();}
 newwindow.document.close(); 
}

Indien er op de plaats van het vetgedrukte TXT imgbreedte of imghoogte ingevult wordt laat hij in de titelbalk van de popup de uitgeleze waarden van de foto zien (die zou dus overeen moeten komen met de orginele waarden van de foto) dit is echter niet altijd zo...

Dus bij sommige foto's leest het programma een verkeerde waarde uit en zo onstaat dus een witte rand.

Wat je ook doet aan de breedte van de foto zelf al maak je hem drie keer zo groot dan leest hij (als het fout gaat) nog steeds de verkeerde zelfde waarde uit.

Maar dit is dus lang niet altijd het geval maar bij sommige foto's wel.

- Alle foto's zijn in jpg format opgeslagen
- Geen van de foto's is groter dan 800*600 pixels

Het rare is dat als je dezelfde foto in gif of bmp format opslaat hij dan wel de afmetingen goed uitleest en weergeeft. Maar als je dan van dat gifje weer een jpgtje maakt keert hetzelfde probleem weer terug.

Natuurlijk zijn ook verschillende programma's uitgeprobeerd (photoshop CS2, paintshop pro 9 enz.) allemaal geven zij hetzelfde resultaat.

In mijn ogen dus een zeer vreemd probleem aangezien dit programma volsterkt willekeurig van een aantal foto's concequent de verkeerde afmetingen uitleest... Weet iemand waarom??

Zo staan de foto's in de xhtml van verschillende pagina's:
<head>
......
<script type="text/javascript">function Go(){return}</script>
<script type="text/javascript" src="fotoprog.js"></script>
</head>

<a href="LS.jpg" onclick="Foto(this.href,'Titel');return false"><img src="LS.jpg" width="160" height="120" border="0" alt="Klik hier om de afbeelding te vergroten!" /></a>

[ Voor 12% gewijzigd door Verwijderd op 05-08-2007 22:54 ]


Verwijderd

Topicstarter
Heeft niemand een idee?
Ik ga morgen namelijk op vakantie en ik zou het graag snel opgelost zien...

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

1. Zet al je code eens netjes tussen [code=html][/] of [code=js][/] tags

2. Gebeurt het alleen met specifieke foto's en is het dus reproduceerbaar?

3. We zijn niet je persoonlijk afhaalchinees, dus even snel iets opgelost zien worden, gaat toch tijd van jezelf eisen ;) Wat heb je zelf gedaan om het proberen op te lossen en waar loop je precies tegenaan.
In mijn ogen dus een zeer vreemd probleem aangezien dit programma volsterkt willekeurig van een aantal foto's concequent de verkeerde afmetingen uitleest... Weet iemand waarom?
Als het consequent verkeerde afmetingen uitleest, kan je dat verifieren met javascript alerts? Dit hoort natuurlijk bij de basis van debuggen en isoleren van je probleem.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
2. Nee, zoals ik al schreef is het volstrekt willekeurig
3. :D dit snap ik, maar ik heb het gekke is dat er geen foute in dit script zitten dus debuggen heeft weinig zin denk ik...

4. Zoals ik al zij niet consequent alleen bij sommige afbeeldingen

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
Verwijderd schreef op donderdag 02 augustus 2007 @ 18:02:
2. Nee, zoals ik al schreef is het volstrekt willekeurig
3. :D dit snap ik, maar ik heb het gekke is dat er geen foute in dit script zitten dus debuggen heeft weinig zin denk ik...
Debuggen heeft weinig zin? en je verwacht dan nog een serieus antwoord?

kun je even puntje 1 ook uitvoeren trouwens... want dit is onleesbaar...

ik gok dat de fout in CheckFoto zit...
4. Zoals ik al zij niet consequent alleen bij sommige afbeeldingen
niet consequent bij dezelfde afbeeldingen? of wel consequent bij dezelfde afbeeldingen, maar niet bij iedere afbeelding?
bijv. wel consequent bij afbeeldingen waarin in de naam een raar teken voorkomt? (om maar een dwarsstraat te noemen)

[ Voor 28% gewijzigd door P.O. Box op 03-08-2007 09:20 ]


Verwijderd

dit klinkt heel erg als een probleem van variabele scope

gebruik eens var hier en daar

Verwijderd

Topicstarter
Edwardvb schreef op vrijdag 03 augustus 2007 @ 09:18:
[...]


Debuggen heeft weinig zin? en je verwacht dan nog een serieus antwoord?
Sorry, hierin heb je natuurlijk gelijk, debuggen kan natuurlijk altijd als het programma niet helemaal doet wat het moet doen...

kun je even puntje 1 ook uitvoeren trouwens... want dit is onleesbaar...
Is gebeurt

ik gok dat de fout in CheckFoto zit...
Hoe bedoel je precies, wat zou er dan moeten staan denk je?


[...]


niet consequent bij dezelfde afbeeldingen? of wel consequent bij dezelfde afbeeldingen, maar niet bij iedere afbeelding?
bijv. wel consequent bij afbeeldingen waarin in de naam een raar teken voorkomt? (om maar een dwarsstraat te noemen)
Nee, de naam verandert niks aan het probleem, want die zijn allemaal vergelijkbaar (KV2 of KV3 lijkt met niet echt veel uit te maken).
Bij sommige afbeeldingen leest hij de verkeerde breedte en hoogte uit, hierdoor verschijnen er toch nog witte randen in de popup. Bij die afbeeldingen die hij verkeerd uitleest is hij consequent en leest hij constant dezelfde waardes uit zelfs als je een flink stuk van de foto afsnijd. (hoop dat het zo duidelijk is)...


Maar zoals ik al zei is het gekke dat dit probleem zich alleen voordoet bij jpg versies van de afbeeldingen, zodra je namelijk de afbeelding waar hij de verkeerde waardes van uit leest verandert van een jpg naar een gif of bmp of png doet hij het wel prima...

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08 14:04
zet een grote timeout na je uitlees actie? denk dat dat het is... dat je uiteindelijk moet werken met een kleine 100ms meer ofzo.. Ik heb welleens een soortgelijk probleem gehad alleen in een hele andere omgeving (wel js). Vandaar dat ik et zei, ook alleen met bepaalde formaten.

[ Voor 37% gewijzigd door semicon op 05-08-2007 22:58 ]

Pagina: 1