Avatar billede hellfishdk Nybegynder
04. juli 2006 - 03:06 Der er 12 kommentarer og
1 løsning

Lukke et vindue, der har åbnet et andet vindue

Jeg har i DotNetNuke oprettet et link der skal åbne en anden hjemmeside. Men fordi jeg ikke ved hvordan jeg skal finde linket jeg har oprettet, så jeg kan definerer størrelsen på det åbnet vindue, har jeg forsøgt at lave et javascript der åbner en blank side, som så åbner den side jeg vil have i den størrelse jeg har defineret. Grunden til at jeg gøre det således er fordi jeg gerne vil have at den "endelige" side skal være i en bestemt størrelse (w, h).
Efter meget søgen frem og tilbage er jeg kommet frem med følgende kode, i en html-side der skal åbne "URL'en":
<html>
<head>
<title>Temp</title>
</head>
<SCRIPT language="JavaScript1.2">
function poponload()
{
smsVindue= window.open ("URL'en", "minJS",
    "location=0,status=0,scrollbars=0,width=1,height=410,top=100,left=300");
    opener.closewin;
}
</SCRIPT>
<body onload="java script: poponload(); self.close();" >

</body>
</html>

Problemet er i midlertid at jeg ikke vil have at der skal komme en dialogboks op, når self.close udføres, men at siden bare lukkes uden spørgsmål. Men sådan som jeg forstår det så er det ikke muligt at undgå (da det er en sikkerhed for at man ikke uforvarende får sin browser lukket. Det har jeg også forståelse for).
Men hvordan skal min kode så se ud for den åbner "URL'en" i den defineret størrelse?

Det skal lige siges jeg er fuldstændig ukendt i JavaScript. Så et svar uden langhåret kodning udbedes ;)
Avatar billede fennec Nybegynder
04. juli 2006 - 08:25 #1
Ikke helt med på hvad du søger, for du har allerede koden til at åbne et vindue. Det ser dog lidt mærkelig ud, for jeg kan ikke helt se hvad "opener.closewin" skal bruges til, og du har en brede på 1:

function poponload()
{
smsVindue= window.open ("URL'en", "minJS", "location=0,status=0,scrollbars=0,width=300,height=410,top=100,left=300");
}

Og som du er inden på kan man ikke undgå den alert, når man vil lukke et vindue som brugeren selv har åbnet.
Avatar billede thrytter Nybegynder
04. juli 2006 - 11:19 #2
Du kan bruge window.resizeTo(x,y) til resize af det åbnede vindue.
Avatar billede hellfishdk Nybegynder
04. juli 2006 - 14:22 #3
ups "opener.closewin" er noget jeg ikke fik slettet fra mine utallige forsøg på at prøve mig frem. Width=1 var et forsøg på at resize vinduet. Bare ignorerer det.

Det jeg er helt specifikt er ude efter er at jeg med mit link kan åbne et vindue (1), som så åbner et nyt vindue (2) ved onload. Når det er sket skal vindue (1) lukkes automatisk, uden at man skal spørges on man nu også vil lukke den.

ELLER

Bare et script der henter en anden URL ind i vinduet. (Fx. hvis jeg åbner test1.html, skal scriptet hente test2.html og vise den i test1.html)
Avatar billede fennec Nybegynder
04. juli 2006 - 14:29 #4
Mit ? er så, hvis du kan åbne vindue(1), hvorfor ikke bare åbne vindue(2) med det samme istedet?? Der er jo ingen grund til at åbne vindue(1)...
Avatar billede fennec Nybegynder
04. juli 2006 - 14:33 #5
Eller dette som dit andet løsningsforslag:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var win
function openWin()
{
    win = window.open("http://www.jubii.dk","","")
}

function replaceIt()
{
    win.location = "http://www.google.dk"
}
//-->
</SCRIPT>
<input type="Button" value="klik1" onClick="openWin();return false;">
<input type="Button" value="klik2" onClick="replaceIt();return false;">
Avatar billede hellfishdk Nybegynder
04. juli 2006 - 16:44 #6
Problemet med denne er at man ikke skulle kunne vælge nogen handlinger, men vindue(2) skal bare vises automatisk.

Grunden til at jeg jeg tror jeg er nødt til at anvende javascript, er fordi at hvis vindue(2) bare bliver linket til direkte, kan jeg ikke styrer vinduet størrelse gennem det link jeg har sat. Det skyldes at jeg ikke kender de moduller og kontrollers der anvendes i DotNetNuke, så jeg kan editerer linket. Det er kun muligt at linke vha. URL (uden mulighed for at sætte parametre), Page (på min site), File (på min site). Derfor vil jeg gerne forsøge med et script som ligger på min site, men henter i stedet for en URL, og viser den som jeg har defineret den skal.
Avatar billede fennec Nybegynder
05. juli 2006 - 09:15 #7
Det vil sige at nå jeg kommer ind på din side skal der automatisk vises en popup og i denne kører dit site??

Hvis jeg så indtaster en url til en side, som vises i popup'en, i min adresselinje, skal der være et eller andet som åbner det som en popup i stedet??
Avatar billede hellfishdk Nybegynder
05. juli 2006 - 14:06 #8
Nej Nej da! :) Det er kun når man klikker på et link i menuen, at der skal åbnes et nyt vindue.

Trinvis kan man stille derop sådan her:
1. websiten loader normalt
2. hvis bruger (mig, da server kun kører lokalt) vil sende en sms, klikker man på et link.
3. et vindue åbnes i en anden browservindue.

Problemet er så bare at når jeg klikker på mit link, så åbner først et tomt vindue, der åbner et andet vindue med den sms-tjenste jeg linker til. Jeg vil gerne undgå det tomme vindue, ved at et script henter sms-tjensten (som bare er en URL) ind i det tomme vindue.
Avatar billede fennec Nybegynder
05. juli 2006 - 15:19 #9
Og den sms tjeneste er det en kode du har liggende eller er det fra et andet domæne??
Avatar billede hellfishdk Nybegynder
05. juli 2006 - 18:09 #10
det er bare noget fra et andet domæne.
Avatar billede fennec Nybegynder
06. juli 2006 - 08:30 #11
Så kan du næppe hente koden den ind på din side og få det til at virke.
Du kan der i mod hente det ind i en Iframe på dit vindue 1.
Avatar billede hellfishdk Nybegynder
06. juli 2006 - 19:37 #12
Hey Tak Fennec!
Det var i hvert fald noget der kunne bruges. Jeg kan lave lidt javascript i HEAD for at give den en størrelse ved onLoad.

Smid et svar og så du kan få dine pts :)
Avatar billede fennec Nybegynder
07. juli 2006 - 08:34 #13
.o) <-- One Eyed Jack
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