Archief - Javascript : XML Databinding

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

WoDkA

Legacy Member
Ik maak een overzicht van vrienden, door middel van xml te databinden met een table.

Nu heb ik een klein probleem, de img die standaard op de pagina komt,
is een thumbnail. En als iemand op die thumb klikt, moet de volledige foto verschijnen ..

Hoe los ik dit nu voorlopig op ?
Als je op de thumb klikt, geeft hij het pad van thumb door naar een javascript functie, en daar bewerk ik het boeltje tot ik juiste pad heb naar de originele foto ..
het pad dat binnekomt, is iets van " ..\thumbs\naamFoto.jpg " , maar dmv substring en indexOf, maak ik daar " \images\naamFoto.jpg " van, dat ik in een variabele varImage smijt ..

Maar als ik dan die foto wil laten openen dmv window.open(varImage,"",""), aanziet browser dat als een popup, terwijl dat op mijn oude manier niet zo was ?

mijn "oude manier" was gewoon :
onclick="openFoto(blabla.jpg,600,400)"

en dan
Code:
function openFoto(url,w,h)
{
   var winl = (screen.width - w) / 2;
   var wint = (screen.height - h) / 2;
   w = w+20;
   h = h+20;
   winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+'resizable=0';
   window.open(url,"", winprops)
}
Ik gebruikte toen dus ook gewoon window.open en dan de var met pad van foto in, en browser toonde dat heel proper, zonder dat popupblocker er iets van zei ..

Hoe komt het dat hij dat nu ineens ziet als een popup ?

Ik wil dat later ook nog de originele foto laten openen in een window dat net groot genoeg is, maar hoe stuur ik die width & height mee ?
Ik heb al geprobeerd om een verborgen span aan te maken met dan een datafield width, maar hoe krijg ik die dan meeverzonden met dat Open script van de foto ? Via DOM ( getElementById, etc .. ) geraak ik er niet ..


Code Body:
Code:
<xml id='xml' src='test.xml'></xml>

<table border="0" datasrc="#xml" cellspacing='2' datapagesize='2'>

<tr>
	<th>Naam :</th>
	<td><span datafld="naam"></td>
</tr>

<tr>
	<th>Geboortedatum :</th>
	<td><span datafld="gdatum"></td>
</tr>

<tr>
	<td colspan="2">
             <img datasrc="#xml" datafld="img" src="" onclick="Open(this.src)" />
             </td>
</tr>

Code XML:
Code:
<buddie>
	<naam>A</naam>
	<gdatum>23031983</gdatum>
	<img>thumbs\naamFoto.jpg</img>
</buddie>

xml

Legacy Member
is de eenvoudigste oplossing niet gewoon de grote afbeelding ook in je xml te zetten? :/

TotaltragedY

Legacy Member
wel waarom zou die browser dat tegenwoordig wel als popup zien
oelang is die "vroeger" waar jij over spreekt
die popup blockers ondergaan ook updates dus ik vermoed dat er altijd maar minder & minder popups doorgelaten worden
snap nie da website bouwers daar geen rekening mee houden & beginne stoppen met popups gebruiken

enfin window.open opent inderdaad een nieuw venster & je foto derin & hij herkent dit als popup omdat et een nieuw window is dat automatisch geopent word & niet door de gebruiker geopent word.

als ge dan echt die window.open wil forceren dan moet je maar aan je bezoekers vermelden dat ze hun popupblockers af moete zette op je site
& je kan bij window.open met gemak ook de parameters width & height en zo meegeven
check 1 of ander javascript library van w3c daar zal de window.open functie mooi uitgelegd staan & alle mogelijke parameters!

WoDkA

Legacy Member
lol Sander, intussen uitgelegd op MSN :p

ik snap gewoon niet waarom die window.open bij oude page NIET als een popup telt, terwijl bij die xml pagina WEL .. terwijl ik het op zelfde manier gebruik ..

en die width & height krijg ik niet meeverzonden ..
bv van de Open maken : Open(this.src,this.width) lukt niet,
want dan neemt hij de width van de thumbnail,
en Open(this.src,datafld='width') lukt ook niet :/
ik kan width & height laten verschijnen in aparte span, maar dan weet ik niet hoe ik bij onClick die w & h kan laten ophalen uit span en die meesturen ..

@XML

en dan de img tag laten overschrijven maar met src het pad van grote img ?
of die src dan gebruiken bij window.open ?

ik maak het prolly veel te ingewikkeld :) maja .. krijg er hoofdpijn van ^^

xml

Legacy Member
Gewoon,

Code:
<buddie>
	<naam>A</naam>
	<gdatum>23031983</gdatum>
	<thumb>thumbs\naamFoto.jpg</thumb>
	<img>img\naamFoto.jpg</img>
</buddie>

Volgens mij maak je het moeilijker dan dat het is. :/ (ofwel zie ik uw probleem niet)

WoDkA

Legacy Member
@XML
ik moet dat pad dan nog uit XML krijgen, en bij databinding is dat mbv datafld's ..
maar ik kreeg die daar niet uit als ik ze niet meegaf .. als ik de w & h van grote foto in w & h stak van img, dan kon ik wel window.open(this.src,this.width,this.height) doen, maar dan resized hij dus ook wel de thumb :)



gezien die databinding IE only is, en ik er toch maar niet geraak,
ga ik het even op een andere manier proberen :)

ik doe het nu met xml / xsl

nu dat vlot allemaal, en ik heb bij elke persoon een img, die ik als volgt display :

Code:
<img>
   <xsl:attribute name="src">
      <xsl:value-of select="padThumb" />
   </xsl:attribute>
</img>

en dat bolt perfect ..

nu wil ik opnieuw als je op thumb klikt, een grote foto tonen ..
mijn eerste gedacht was :
window.open(<xsl:value-of select='padFoto','','')
maar dit werkt niet, gezien hij geen <'s toelaat daar ..

ik heb die tekens proberen te escapen ( CDATA ) maar dat werkte ook al niet .. net zoals tussen quotes plaatsen ..

ik heb het voorlopig wel aan de praat gekregen, door padFoto in de alt tag te steken, en dan :
window.open(this.alt,'','') te gebruiken ..

allesbehalve proper gedaan, maar ja :) ( ik zou ook alles - pad, w & h - in alt kunnen steken, en dan substringen, maar das nog meer foefelwerk .. )

enig idee hoe ik die xsl:value-of select wel daar kan gebruiken ?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan