Avatar billede Klaus_S Praktikant
02. juni 2010 - 22:05 Der er 5 kommentarer og
1 løsning

Link til allerede åben side

Jeg har et webside hvor jeg åbner en chat i et popup window med følgende javascript.

window.open('Chatroom.aspx?&ID=" & roomid & "', 'mywin', 'left=20,top=20,width=730,height=520,toolbar=0,resizable=1,dependent=yes');

Formålet er at man så kan have chat window åben mens man surfer rundt på den anden side.

Nå vil jeg gerne lave en funktion i min chat så man kan klikke på en bruger og så kalde den ande side og få vist brugerns profil.

Jeg kan sagtens åbne et nyt men vil gerne bruge den side der allere er åben.

Hilsen Klaus
Avatar billede intenz Novice
03. juni 2010 - 21:14 #1
Et link i din chat kunne se sådan ud:

<script>
function updateLink(id) {
  // gør måske noget andet her
  window.opener.updateUser(id); // kald updateUser på parent
}
</script>
<a href="#" onclick="updateLink(1);">bruger</a>

hvor '1' i onclick funktionen er f.eks. brugerens ID, eller hvad du nu vil bruge til at genkende brugeren.

Og fra den side du åbnede den fra har du:
<script>
function updateUser(id) {
  alert('Du klikkede på bruger med id: '+id);
}
</script>
Avatar billede intenz Novice
03. juni 2010 - 21:16 #2
Hov, min kommentar i funktionen er lidt misvisende.
// gør måske noget andet her

Det betyder bare at du kan køre en anden kode før du kalder window.opener.up.... osv.
Avatar billede Klaus_S Praktikant
06. juni 2010 - 14:02 #3
HEj Intenz.

Din kommetar var på ingenmåde misvisende.
Super tak for hjælpen. Smid svar så du kan få dine velfortjente Points.

PS hvis du også har en måde så man kan se om Opener stadig er åben så er det bare voldblær.

Hilsen Klaus
Avatar billede intenz Novice
06. juni 2010 - 21:54 #4
Fint :)
Der ligger allerede et svar.

Prøv at lav en alert(window.opener); i dit chat vindue, efter du har lukket det andet vinduet, så kan du se hvad den giver hvis vinduet er lukket.

Jeg vil tro du får 'undefined', men har ikke testet det. Men så kan du tjekke det med:
if (window.opener == undefined) {
  // gør noget hvis vinduet er lukket
}
Avatar billede Klaus_S Praktikant
06. juni 2010 - 21:58 #5
Kunne ikke tilele point ellers havde jeg ikke skrevet det!.

Har prøvet at klikke på linket efter at parent is closed og der sker så intet
Avatar billede intenz Novice
06. juni 2010 - 22:27 #6
Prøv:

function updateLink(id) {
  if (window.opener == undefined) {
    alert("Parent er lukket");
  } else {
    window.opener.updateUser(id); // kald updateUser på parent
  ]
}
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