webForumDet fria alternativet

Funktion i popup

6 svar · 202 visningar · startad av Molna

MolnaMedlem sedan jan. 2001188 inlägg
#1

Hej,

Postade det här i en annan tråd, men jag tänkte att det kanske inte var någon som orkade läsa hela den tråden. Min fråga var i alla fall:

Varför går det att göra så här:
popup = window.open("", "foo", "fullscreen=1,channelmode=1");
popup.document.write("<html><body>Jättefin text</body></html>");

Men inte tex:
popup.document.funktionipopupen();
för att aktivera en funktion i en popup?

/Tack:)

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Därför att du (uppenbarligen) inte har definierat någon sådan statisk metod för objektet Document. Anledningen till att document.write() fungerar är att det existerar en sådan statisk metod för Document.

:)

MolnaMedlem sedan jan. 2001188 inlägg
#3

Ok, vill du utveckla lite? Jag förstår inte :)
Det fungerar ju tex att göra så om det istället för en popup är en annan frame. Eller, inte riktigt iofs utan med tex parent.framenamn.funktionen();
Hur ska man göra för att det ska fungera med popupen?

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Om du vill anropa metoden direkt genom objektet Document, d.v.s. popup.document.funktionipopupen(), måste du göra den till en statisk metod av ovan nämnda objekt:

...
document.funktionipopupen = function(){
     // En massa kod...
};
...

:)

MolnaMedlem sedan jan. 2001188 inlägg
#5

Betyder det att man måste definiera funktionen som ska vara i popupen genom opener-sidan?
Jag vill att man helt enkelt ska kunna ha vilken funktion man vill i popupen och sedan kunna anropa den från openerfönstret.

Peter SMedlem sedan dec. 20025 483 inlägg
#6

Nej, definiera funktionen i "pop-up"-fönstret. Exempel:

Huvudfönstret:

...
<head>

<script type="text/javascript">
<!--

var popup = window.open("foo.html", "", "height=300,width=300");
alert(popup.document.minFunktion());

//-->
</script>
</head>
...

"Pop-up"-fönstret:

...
<head>

<script type="text/javascript">
<!--

document.minFunktion = function(){
     return "Foo";
};

//-->
</script>
</head>
...

:)

MolnaMedlem sedan jan. 2001188 inlägg
#7

Works like a charm
Dankeschön!

135 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)