wiederholtes Ausführen von JAVASCRIPT-Funktionen?!?
Ingo König
- javascript
0 Bürgle0 Ingo König0 Aleksej V.0 Bürgle
0 Tim Tepaße
Hallo!
Um es vorher zu sagen: Ich habe nicht sonderlich viel Ahnung von Javascript, deshalb "Sorry", wenn mein Problem kein wirkliches Problem ist.
Leider hab ich weder in SELFHTML noch im Archiv eine Lösung gefunden...oder ich hab es übersehen :(
Also: Ich möchte ein neues Fenster per
<html>
<head>
function NeuesFenster()
{
NeuesFenster = window.open("Ziel.html", "Zweitfenster", "width=400,height=315");
}
</head>
<body>
<a href="javascript:NeuesFenster()">Hier klicken!</a>
</body>
</html>
öffnen. Soweit klappt es auch. Allerdings nur einmal! Danach ist ein Refresh nötig, um die Funktion erneut auszuführen bzw. das sich das Fenster erneut per öffnet. Das ginge ja mit
location.reload();
aber wäre nichts für schwache Leitungen, wenn sich nach jedem Klick die Seite erneut aufbauen müßte.
Wo liegt mein Problem?
Danke im Voraus!
Gruß
Ingo
Hi!
Hallo!
Um es vorher zu sagen: Ich habe nicht sonderlich viel Ahnung von Javascript, deshalb "Sorry", wenn mein Problem kein wirkliches Problem ist.
Leider hab ich weder in SELFHTML noch im Archiv eine Lösung gefunden...oder ich hab es übersehen :(Also: Ich möchte ein neues Fenster per
<html>
<head>
function NeuesFenster()
{
NeuesFenster = window.open("Ziel.html", "Zweitfenster", "width=400,height=315");
}
</head>
<body>
<a href="javascript:NeuesFenster()">Hier klicken!</a>
</body>
</html>öffnen. Soweit klappt es auch. Allerdings nur einmal!
Warum mehrmal das gleiche öffnen?
Schreib einfach NeuesFenster(); unter die Zeile window.open... in die Funktion und Du kannst Dich vor lauter neuen Fenstern nicht mehr retten:)
Grüße, Bürgle
http://www.benotung.de
Das ist leider nicht mein Problem, Bürgle.
Ich hab mich wohl zu ungenau ausgedrückt. Mein Fehler!
In der Datei sind ca. 20 dieser Funktionen enthalten. Wenn der Betrachter nun NeuFenster1 öffnet, sieht er Fenster1. Er schließt es wieder und betrachtet sich NeuFenster2.
Dann will er aber nocheinmal NeuFenster1 sehen. Und genau das klappt ohne Refresh der kompletten Seite nicht mehr!
Link ist zwar weiterhin "anklickbar" aber nichts passiert. NeuFenster1 erscheint nicht mehr...
*ratlos bin*
Gruß
Ingo
P.S. Trotzdem Danke @ Bürgle
Hallo Ingo,
In der Datei sind ca. 20 dieser Funktionen enthalten. Wenn der Betrachter nun NeuFenster1 öffnet, sieht er Fenster1. Er schließt es wieder und betrachtet sich NeuFenster2.
Du hast 20 Funktionen NeuFenster1 bis NeuFenster20, so in etwa ???
Diese unterscheiden sich hinsichtlich URL und Fenstername, vielleicht noch in der Grösse?
Es ist besser, wenn Du eine einzige Funktion NeuesFenster schreibst.
Dieser Funktion übergibst Du URL und Fenstername ...
Weiterhin wäre es vielleicht geschickter den <a>-Tag so umzuschreiben:
<a href='url1' onclick='NeuesFenster('url1', 'Fenstername1')>Hier klicken</a> ...
Sollte klappen.
Gruss,
Vinzenz
Vinzenz, ich danke Dir!
Jetzt klappt es einwandfrei!
Im übrigen auch Danke an alle anderen, ihr habt mir gute Tips gegeben...und so schnell!
Nun weiß ich, was ich alles nicht weiß *lol*
Grüße
Ingo
Hi!
Sorry, meine vorherige Lösung war eher ein Scherz.
Das Liegt vermutlich daran, dass es so ein Fenster mit dem Namen schon gab/gibt, Du müsstest die Fenster entweder immer neu benennen (z.B. globalen Zähler hochzählen) oder womöglich beim schließen irgendwie das Fenster löschen, genau weiß ich das mit dem löschen leider auch nicht.
Ich könnt mir da was mit onunload="" u.s.w. vorstellen.
Jedenfalls: nenn die Fensterhandler bitte nicht gleich, wie die Funktion selbst!!
Grüße, Bürgle
http://www.benotung.de
Hallo,
<html>
<head>
Da muss aber script hin :)
function NeuesFenster()
{
NeuesFenster = window.open("Ziel.html", "Zweitfenster", "width=400,height=315");
Mach die Neuesfenster = weg, dann geht's.
}
Schreib einfach NeuesFenster(); unter die Zeile window.open... in die Funktion und Du kannst Dich vor lauter neuen Fenstern nicht mehr retten:)
So ein Käse! mal ausprobieren, es geht nicht, weil das fenster immer den selben namen hat.
So dürfte es gehen:
<html>
<body>
<script type="text/javascript">
function amargeddon() {
var t = 'a'+ Math.round(Math.random()*203)
t = t.toString()
window.open('tr.html',t)
}
window.setInterval("amargeddon()",1)
</script>
</body>
</html>
Grüße aus Düsseldorf,
Aleksej
Hi!
So ein Käse!
Siehe mein nächstes Posting (Du warst schneller:))
Grüße, Bürgle
http://www.benotung.de
Hallo Ingo,
Wo liegt mein Problem?
Ich könnte mir gut vorstellen, daß Du in molilys Artikel (#1) zum Thema Popups mittels Javascript einiges interessantes, wenn nicht gar einen Weg zur Lösung findest.
(#1) http://home.t-online.de/home/dj5nu/js-popup.html