04. juli 2006 - 03:06Der 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 ;)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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.
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)
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.
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.
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.