Avatar billede ham_se17 Nybegynder
14. maj 2004 - 20:46 Der er 4 kommentarer og
1 løsning

opener top?

Jeg har en side som bliver åbnet to steder fra.
Det ene er via et pop up, og et andet sted bliver den includes i min fel.

På den side har jeg et link.
Hvis siden bliver åbnet i et popup bruger jeg følgende code til at opdatere "åbeneren" med:

opener.top.document.location ="/?p=users&sp=serverstart";

MEN, hvis siden er blevet includet, så går ovenstående kode ikke da det giver en "null" fejl!
Jeg vil så have lavet en funktion som ser således ud:

<SCRIPT language="javascript" type="text/javascript">
<!--
function TEST(){
   
  if (opener.top == null){
    self.location.href ="/?p=users&sp=serverstart";
  }else{
    opener.top.document.location ="/?p=users&sp=serverstart";
  }
}
//-->
</SCRIPT>

men jeg får stadig en "null" fejl...
fejl: 'opener.top' er null eller ikke et objekt.


Nogen ideer?
Avatar billede olebole Juniormester
14. maj 2004 - 20:58 #1
<ole>

Det er ikke til at sige uden at kunne se dine koder (er der et frameset involveret?).
Dog er 'document.location' deprecated. I dag bruger man 'window.location', eller blot 'location'.
Desuden bør du nok sætte location-objektets href:
  opener.top.location.href =
...men deb nøjagtige syntaks er afhængig af resten af dine koder  :)
/mvh
</bole>
Avatar billede ham_se17 Nybegynder
14. maj 2004 - 21:24 #2
oki, om jeg bruger document eller ej, eller bare location, de løser det for mig begge dele. Problemet er at jeg skal vide siden er et popup vindue der er blevet åbnet med koden: window.open(bla bla bla) eller om det er selve siden som IKKE er en popup!
Avatar billede olebole Juniormester
14. maj 2004 - 21:33 #3
Ja, du er en heldig rad. Det er et rent tilfælde, at 'document.location' og 'window.location' er det samme i dette tilfælde. Det ændrer dog ikke på, at 'document.location' er en fejl  :)

Prøv:

function TEST(){   
  if (opener == null){
    location.href ="/?p=users&sp=serverstart";
  }else{
    opener.location.href ="/?p=users&sp=serverstart";
  }
}

eller:

function TEST(){   
  if (opener == null){
    location.href ="/?p=users&sp=serverstart";
  }else{
    opener.top.location.href ="/?p=users&sp=serverstart";
  }
}

Det kommer igen anpå din kode.
Avatar billede ham_se17 Nybegynder
14. maj 2004 - 21:39 #4
Wuhu, det virkede.
smid et svar op så får du den lige i ***** :P

Jeg brugte følgende...

function Test(){
   
if (opener == null){
    window.location = "/?p=users&sp=serverstart";
}else{
    opener.document.location = "/?p=users&sp=serverstart";
}
}
Avatar billede olebole Juniormester
16. maj 2004 - 16:44 #5
Fino ... men du vil stadig gøre mig til en glad mand, hvis du ville slette det 'document', du har i sidste linie  ;o)
/mvh
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