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?
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.
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?
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...
};
...
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.