Avatar billede krogstrup Nybegynder
11. maj 2000 - 15:22 Der er 6 kommentarer og
1 løsning

Kalde funktion i modervindue

Jeg har test.htm hvor jeg åbner side2.htm i et object - <object data="side2.htm">

På side2.htm vil jeg gerne kunne kalde nogle javascript funktioner der ligger i test.htm !!!

Men hvordan henviser jeg til vinduet der har åbnet mit objekt ???

Jeg har f.eks. prøvet med følgende:

onClick="window.opener.doMyFunction('Parameter1','Parameter2')"

men det virker ikke - jeg får følgende fejl:
"'window.opener' is null or not an object"

Hjælp !?!
Avatar billede olebole Juniormester
11. maj 2000 - 17:56 #1
<ole>
Jeg kan godt se logikken...den er bare ikke rigtig ;-)
Hierakiet hedder: Åbneren > vinduet > funktionen...altså:
    onClick="opener.window.doMyFunction('Parameter1','Parameter2')"
...men den er også drilsk. Man skal lige løbe panden mod den et par gange, før man husker den. I min alder, i hvert fald ;-)))
/Vh
</bole>
Avatar billede krogstrup Nybegynder
12. maj 2000 - 10:21 #2
Hej Ole

Jeg har prøvet din kode, men jeg får stadigvæk samme fejl !

Min kode er bygget således op:


Jeg har en side "edit.asp" som indeholder følgende kode:

<object id="palette" type="text/x-scriptlet" data="colors.htm"></object>


I "colors.htm" har jeg følgende link:

<a href="#" onClick="opener.window.doFormat('ForeColor','#FF0000')">Link</a>



Men når jeg klikker på mit link får jeg følgende fejl:

"opener.window" is null or not an object"


Hvad gør jeg galt ???
Avatar billede krogstrup Nybegynder
12. maj 2000 - 11:44 #3
Prøv at kigge på den her side Ole:

http://webfx.eae.net/webboard/editMessage.html

Når du klikker på "skriftfarve" ikonet bliver et <object> synligt. I den fil der åbnes i objectet kaldes der nogle funktioner fra modersiden !!!

Siden der åbnes hedder "colorPicker.html" og deri finder man dette script:

function doClick() {
    bgc = window.event.srcElement.style.backgroundColor;
    window.event.srcElement.style.borderColor = bgc;
    if (bgc != "") {
        window.external.raiseEvent("colorchange", bgc);
    }
}


Men jeg kan ikke gennemskue det - kan du ?
Avatar billede olebole Juniormester
12. maj 2000 - 11:53 #4
Prøv at lægge en
  alert(opener.window);
ind, aller øverst i dine scripts i det nyåbnede document, lige efter dit ' <script><!-- ' tag - og prøv så at fyre den af i BEGGE browsere og lad mig høre.
Avatar billede krogstrup Nybegynder
12. maj 2000 - 11:59 #5
Jeg forstår ikke helt hvad du mener med BEGGE browsere ?

Jeg har i colors.htm som bliver åbnet i min <object> kode prøvet at indsætte

<script language="javascript">
alert(opener.window);
</script>

Men det giver mig bare samme fejl een gang til:

opener.window is null or not an object

?????


Jeg åbner jo i teorien ikke et nyt vindue, men implementerer en ny side i min hovedside via et <object>. Måske er koden anderledes her, når man skal kalde funktioner fra hovedsiden ???
Avatar billede krogstrup Nybegynder
12. maj 2000 - 17:05 #6
Hej Ole

Jeg har snart fyraften og har desværre ikke mulighed for internetadgang i weekenden, men jeg håber meget at du kan hjælpe mig med løsningen.

Jeg ved ikke om det har nogen betydning for dig, men jeg giver gerne mange flere points end 60 for en løsning.

Med andre ord: Jeg har seriøst brug for en løsning på det her problem !!!

Ha´ en rigtig god weekend :)
Avatar billede krogstrup Nybegynder
23. maj 2000 - 10:00 #7
Jeg synes du har fortjent pointene for din indsats for at finde en løsning...

NB: Løsningen kan findes på forum´et hos http://www.bratta.com/dhtml
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