PDA

Volledige versie bekijken : Flash + Javascript probleempje [eindelijk opgelost!]


Trip NL
%Europe/Berlin %467 %2007, 12:12
Hallo allemaal,

Ik heb een probleem met een Popup Javascript. Dit script opent een nieuw window met daarin een afbeelding die in Flash opgehaald wordt uit een XML bestand. Het Javascript heb ik toegevoegd aan de html pagina van het Flash bestand. Alleen er gebeurd niets. De afbeelding direct openen doet hij wel.

De code:
// Vergroot functie
function enlargeImage() {
getURL(""+url[p]+"");
picture_num();
}
De XML:
<?xml version="1.0"?>
<print>
<file>
<preview>./cms/images/web_01.jpg</preview>
<omschrijving>omschrijving website 1</omschrijving>
<url>javascript:PopupPic('./cms/images/web_01_groot.jpg')</url>
</file>
<file>
<preview>./cms/images/web_02.jpg</preview>
<omschrijving>omschrijving website 2</omschrijving>
<url>./cms/images/web_02_groot.jpg</url>
</file>
</print>
2e url node werkt dus wel, maar dan krijg ik gewoon een _blank pagina met het plaatje. En dat wil ik niet.

het script in html:
<script type="text/javascript">
function PopupPic(sPicURL) {
window.open( "popup.html?"+sPicURL, "",
"resizable=0,height=100,width=100");
}
</script>
popup.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Showcase Portfolio Multimedia Vormgever Lieve Sonke</title>
<script type="text/javascript">
var arrTemp=self.location.href.split("?");
var picUrl = (arrTemp.length>0)?arrTemp[1]:"";
var NS = (navigator.appName=="Netscape")?true:false;

function FitPic() {
iWidth = (NS)?window.innerWidth:document.body.clientWidth;
iHeight = (NS)?window.innerHeight:document.body.clientHeight ;
iWidth = document.images[0].width - iWidth;
iHeight = document.images[0].height - iHeight;
window.resizeBy(iWidth, iHeight);
self.focus();
};
</script>

<style type="text/css">
body {
background-color:#000000;
margin: 0;
padding: 0;
}
</style>
</head>

<body onload='FitPic();'>
<script type="text/javascript">
document.write( "<img src='" + picUrl + "' border=0>" );
</script>
</body>

</html>
En om te laten zien dat er geen fout in het script zit: http://www.id83.nl/tmp/jstest
Wat doe ik fout?

Trip NL
%Europe/Berlin %610 %2007, 15:39
Iemand? ;)

Trip NL
%Europe/Berlin %862 %2007, 21:42
Misschien wordt het duidelijker met het probleem in beeld gebracht:

Portfolio debug map (http://www.id83.nl/testmap) > Flash versie

Heb een test linkje gemaakt in de footer (Klik op POPUP TEST) Zo moet het worden.

Klik je op web > 1e thumbnail dan zie je dat het niet werkt vanuit Flash :(

Help!

H3lpd3sk
%Europe/Berlin %881 %2007, 22:09
ik had een soort gelijk probleem met getUrl

probeer het eens zonder "_blank" en GET/POST dus gewoon

getUrl("javascript:PopupPic("tempimages/web_01_groot.jpg")");


getUrl is een beetje buggy samen met Xml..

en anders denk ik gewoon stap voor stap debuggen met alert() e.d.

In het kader van SWFADDRESS ben ik persoonlijk overgestapt op ExternalInterface functies om javascript te benaderen. misschien kan je daar anders naar kijken

NB keek ff snel met IE en zag wel zo'n leuke javascript error onderin...

Trip NL
%Europe/Berlin %901 %2007, 22:37
ik had een soort gelijk probleem met getUrl

probeer het eens zonder "_blank" en GET/POST dus gewoon

getUrl("javascript:PopupPic("tempimages/web_01_groot.jpg")");


getUrl is een beetje buggy samen met Xml..

en anders denk ik gewoon stap voor stap debuggen met alert() e.d.

In het kader van SWFADDRESS ben ik persoonlijk overgestapt op ExternalInterface functies om javascript te benaderen. misschien kan je daar anders naar kijken

NB keek ff snel met IE en zag wel zo'n leuke javascript error onderin...

Woei! Lees net je post. De aanhouder wint! Heb inderdaad "_blank" weg moeten halen. Was ook nog AllowScriptAccess vergeten toe te voegen aan mijn SWFObject.

H3lpd3sk
%Europe/Berlin %908 %2007, 22:48
Dus je bent eruit ?

SameDomain neem ik aan :)

Trip NL
%Europe/Berlin %912 %2007, 22:53
Dus je bent eruit ?

SameDomain neem ik aan :)

Ja kijk maar eens, heb nog niet alle XML gevuld. 1e 4 prints en 1e 3 websites. Werkt prima in FF en Opera. Alleen nog niet in IE helaas. Morgen nog maar eens wat browser checks doen in Dreamweaver ;)

H3lpd3sk
%Europe/Berlin %945 %2007, 23:41
Ja ziet er grappig uit hoor je site!
Ik heb altijd van die eeuwige design dillemma's..
Momenteel nog zwaar met engine van mijn nieuwe site bezig, dus gaat nog wel ff duren...

browser checks in Dreamweaver??? LOL nog nooit gebruikt.. :P

Succes ermee! Ik ga weer verder met m'n flash/AJAX communicatie...pffff

Trip NL
%Europe/Berlin %618 %2007, 15:50
Ja ziet er grappig uit hoor je site!
Ik heb altijd van die eeuwige design dillemma's..
Momenteel nog zwaar met engine van mijn nieuwe site bezig, dus gaat nog wel ff duren...

browser checks in Dreamweaver??? LOL nog nooit gebruikt.. :P

Succes ermee! Ik ga weer verder met m'n flash/AJAX communicatie...pffff

AJAX gaat mij nog iets te ver ;) Ben meer van het designen. Heb trouwens ontdekt waarom de popups niet werkte in IE. Kwam door de doctype. Ik wil alles XHTML Strict hebben, maar bij de popup kan dat helaas (nog niet).

Jij succes met je AJAX/Feyenoord communicatie haha

Mukke
%Europe/Berlin %110 %2007, 03:38
een strickt popup gaat wel maar zoals je zegt wil je geen ajax leren (watt niet moelijker is dan wat html en xml objecten zoals in as maar dan in javascript

en dan maak je een div die je verbergt
<div style="display:none;visibility:hidden;" id="popup"></div>
en als je dan een popup wil hebben laad je informatie in door een xml of http request in de div met
getElementByID("popup").innerHtml
dan moet je hem natuurlijk zichtbaar maken met
getElementByID("popup").style.visibility="visible";
getElementByID("popup").style.display="block";
je kan met css dan ook je popup de nodige layout van een venster bezorgen je zou er zelf een kruisje op kunnen zetten om de popup weer de 'verbergen'