javascript oop, frames

Plaats reactie
BungaMan
Elite Poster
Elite Poster
Berichten: 1485
Lid geworden op: 16 nov 2005, 09:05

heb een frameset pagina met 2 frames (name=boven en name=onder)

in frame "boven" een javascript met een custom object
function MijnObject()
{
this.bla = 'tekst';
}

nu wil ik dit in frame "onder" gebruiken via
var testje = new parent.boven.MijnObject();
maar dan krijg ik de foutmelding dat het geen constructor is.

terwijl in frame "boven" de volgende code wel werkt
var testje = new MijnObject();

iemand een idee?
Please help, looking for a way to get rich and fast
wem
Premium Member
Premium Member
Berichten: 666
Lid geworden op: 24 mei 2004, 14:48

afstappen van javascript en frames?
BungaMan
Elite Poster
Elite Poster
Berichten: 1485
Lid geworden op: 16 nov 2005, 09:05

nope, dat object moet blijven bestaan overheen verschillende pagina's.
Please help, looking for a way to get rich and fast
crapiecorn
Elite Poster
Elite Poster
Berichten: 2149
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

Code: Selecteer alles

var testje = new parent.boven.MijnObject(); 


Die methode voor uw functie te instantiëren lijkt me niet zo kosher, onmogelijk zelfs.
Astralon
Elite Poster
Elite Poster
Berichten: 3310
Lid geworden op: 26 jul 2005, 12:17
Locatie: Lochristi
Uitgedeelde bedankjes: 196 keer
Bedankt: 125 keer

Waarschijnlijk zie ik iets over het hoofd maar ik probeer het toch maar.
Je plaats je script in een appart bestand (myscript.js) en roept die naar behoefte aan in beide frames?

Code: Selecteer alles

<script src="js/myscript.js" type="text/javascript"></script>
BungaMan
Elite Poster
Elite Poster
Berichten: 1485
Lid geworden op: 16 nov 2005, 09:05

crapiecorn schreef:

Code: Selecteer alles

var testje = new parent.boven.MijnObject(); 


Die methode voor uw functie te instantiëren lijkt me niet zo kosher, onmogelijk zelfs.

MijnObject wordt hier gebruikt als classe om een object aan te maken (new keyword)

Als ik MijnObject puur als functie zou gebruiken dan werkt dat perfect op volgende wijze:
var testje = parent.boven.MijnObject();

Maar ik heb natuurlijk niet goed nagedacht eer ik poste :oops:
Ik moet namelijk het object instantieren in frame "boven" en niet in de frame "onder" want de onderste frame kan van pagina veranderen.

Het lijkt me wel interessant om te weten of het moet lukken of niet. Variabelen en methodes zijn op die manier toegankelijk.
var testje = new MijnObject();
werkt trouwens ook niet.
Met het aparte javascript en linken in beide pagina's zou kunnen werken. Eens zien of het geen error geeft.
Please help, looking for a way to get rich and fast
crapiecorn
Elite Poster
Elite Poster
Berichten: 2149
Lid geworden op: 01 feb 2003, 11:58
Uitgedeelde bedankjes: 44 keer
Bedankt: 12 keer

BungaMan schreef:
crapiecorn schreef:

Code: Selecteer alles

var testje = new parent.boven.MijnObject(); 


Die methode voor uw functie te instantiëren lijkt me niet zo kosher, onmogelijk zelfs.

MijnObject wordt hier gebruikt als classe om een object aan te maken (new keyword)


Ja dat heet instantiëren ;-), al mag je bij javascript wel nooit van een class spreken.
BungaMan
Elite Poster
Elite Poster
Berichten: 1485
Lid geworden op: 16 nov 2005, 09:05

kleine update... het probleem is dat het javascript van de 2e frame eerst wordt uitgevoerd en dan het javascript van de 1e frame.

dus de code in mijn eerste post werkt wel
var testje = new parent.boven.MijnObject();
Please help, looking for a way to get rich and fast
Plaats reactie

Terug naar “Development”