Avatar billede bse11703 Nybegynder
30. november 2004 - 19:18 Der er 10 kommentarer og
1 løsning

Slette html i popup vindue

Når jeg kalder en popup hvor der skrives i fra det kaldende vindue via. document.write, så vil popup'en gentage sig selv hver gang det kaldende vindue reloades...

Kan man ikke slette indholdet via javascript, eller lukke vinduet???
Avatar billede olebole Juniormester
30. november 2004 - 19:27 #1
<ole>

Et link til siden ville gøre det lettere at svare, men generelt kan du godt lukke et vindue, hvis du har en variabel, der peger på vindues-objektet:

var win = window.open("side.html", "popWin");
win.close();

/mvh
</bole>
Avatar billede bse11703 Nybegynder
30. november 2004 - 20:04 #2
Jeg har ikke variablen, da siden der åbner vinduet bliver reloaded før den åbner popup'en...
Avatar billede olebole Juniormester
30. november 2004 - 20:39 #3
Så kan din side ikke finde popup'en. Det betyder, du ikke på nogen måde kan tilgå popup'en ... du må gribe tingene helt anderledes an  :)
Avatar billede roenving Novice
03. december 2004 - 04:37 #4
>>olebole

Din konstruktion fra første kommentar vil vel faktisk udføre det, når man jo så genbruger window-name og dermed tager fat i det samme fysiske vindue ?-)
Avatar billede bse11703 Nybegynder
03. december 2004 - 15:27 #5
Nej, for jeg bruger document.write til at skrive til vinduet - kan godt åbne et nyt vindue hver gang med '_blank', men det kan potentielt set give en hulens masse vinduer hvorfor jeg søger en kode der kan slette vinduets indhold via javascript el. lign...
Avatar billede olebole Juniormester
03. december 2004 - 17:45 #6
Jeg forstår ikke dit problem. Denne:
  window.open("http://www.google.dk", "popWin");

vil åbne Google i et nyt vindue første gang, du kalder funktionen. Hvis du undlader at lukke vinduet, vil den næste gang åbne Google i samme vindue  :)
Avatar billede bse11703 Nybegynder
03. december 2004 - 18:15 #7
Jep men funktionen åbner et nyt vindue og skriver indholdet vha. document.write og jeg har derfor brug for en funktion der enten kan lukke vinduet inden det åbnes, eller rydde indholdet.
I IE kan man bruge window.open("about:blank", "popWin"); men denne virker således også kun i IE, og jeg er derfor tvunget til at bruge window.open("", "_blank"); som åbner et nyt vindue.
Avatar billede olebole Juniormester
03. december 2004 - 19:05 #8
Hvorfor du blander 'about:blank' ind i spørgsmålet, fatter jeg ikke. Det har intet med dette at gøre  :)
Hvis nu du prøver, hvad folk skriver til dig - i stedet for at tro en hel masse - ville den største fare ligge i, du kunne lære noget nyt. Jeg prøver igen:

<script type="text/JavaScript">
function myOpen(str) {
    var win = window.open("", "myFuckingLitteWindow", "width=400,height=200");
    win.document.open("text/html", "replace");
    win.document.write(str);
    win.document.close();
    win.focus();
}
</script>

<button onclick="myOpen('Her skriver vi noget til vinduet.')">TEST 1</button><br>
<button onclick="myOpen('Hvad er det, du ikke kan finde ud af? ... og hvorfor ikke bare prøve det, folk skriver til dig?')">TEST 2</button>
Avatar billede olebole Juniormester
03. december 2004 - 19:10 #9
En window.open leder efter et vindue (herunder en (i)frame) med det navn, du skriver i funktionens andet argument. Kan den finde sådan et, åbnes siden i dette vindue.
Kan et vindue med det navn ikke findes, vil browseren åbne et nyt vindue med dette navn.
Herefter vil der - indtil vinduet lukkes - eksistere et vindue med det pågældende navn. Derfor vil window.open åbne siden i dette vindue, næste gang den bliver kaldt med samme navn.

At du skriver til vinduet, betyder intet somhelst i den forbindelse.
Avatar billede bse11703 Nybegynder
04. december 2004 - 16:00 #10
Det var lige præcis dette jeg havde brug for:
    win.document.open("text/html", "replace");
Avatar billede olebole Juniormester
05. december 2004 - 04:08 #11
Ja, det er mest korrekt at have den linie med - men i dette eksempel, kan jeg ikke se, den skulle gøre nogen somhelst forskel. Dokumentet vil under alle omstændigheder blive overskrevet, hvis der skulle stå noget i det  :)
Anyway ... her er et svar, hvis du kunne bruge det
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