Popup Fenster immer im Vordergrund
Hallo zusammen,
ich arbeite mit Win xp Sp2 und stelle z. Zt. eine Homepage zusammen. Dabei benutze ich ein Javascript, welches beim Klick auf einen Link ein Popup-Fenster öffnet. Auf meiner Seite sind 2 dieser Links.
Wenn ich den ersten Link geklickt habe öffnet sich das Popup Fenster wie gewünst.
Klicke ich jetzt den zweiten Link, wird das Pop up Fenster minimiert. Ich muss es dann erst wieder maximieren um den Inhalt sehen zu können oder das erste schließen.
Ich möchte das das Popup Fenster immer zu sehen ist.
Hier das Skript:
<script language="JavaScript">
function Kommentar01()
{
window.open("Kommentare_zu_Aktivitaeten/was_laeuft_sonst_so/Kommentar01.html", "Tutorials", "width=350,height=400", scrollbars="yes");
}
function Kommentar02()
{
window.open("Kommentare_zu_Aktivitaeten/was_laeuft_sonst_so/Kommentar02.html", "Tutorials", "width=350,height=400", scrollbars="yes");
}
</script>
<a href="#" onClick="Kommentar01()"><b>hier</b></a>
<a href="#" onClick="Kommentar02()"><b>hier</b></a>
Kann mir da jemand einen Tipp geben?
Danke und frohe Weihnachten
Manni
Antwort schreiben
Antwort 1 von katy vom 23.12.2019, 19:32 Options
Hallo Manni55,
tut mir leid, aber ich kann deine Problembeschreibung nicht so ganz nachvollziehen. Du gibst beiden Fenstern denselben Namen "Tutorials", also kann dein Browser sie nicht unterscheiden.
Eventuell löst ja ein anderer Name für das zweite PopUp dein Problem.
Sollte das nicht der Fall sein, beschreibe es doch noch einmal anders.
Gruß
katy
Antwort 2 von Manni55 vom 23.12.2019, 20:14 Options
Hallo Katy,
mein Script kann die beiden Seiten unterscheiden durch Kommentar01 und Kommentar02.
Ich habe zwei Links, der eine führt auf die Seite 01, der andere auf die Seite 02. Das geht gut so.
Mein Problem ist, wenn ich auf den ersten Link geklickt habe erscheint mein popup Fenster. Klicke ich jetzt auf den zweiten Link verschwindet das Popupfenster und ist in der Taskleiste minimiert.
Meine Besucher könnten annehmen, der Link funktioniert nicht.
Tut er aber doch da in der Taskleiste beim Klicken auf den zweiten Link auch die zweite (02) Seite liegt. Halt nur minimiert.
Ich möchte das so haben, dass das Popup Fenster immer in Sicht ist und sich der Inhalt nur, je nachdem auf welchen Link ich Klicke, verändert.
Kannst du mir da helfen?
Danke und Gruß
Manni
Antwort 3 von katy vom 24.12.2019, 11:47 Options
Hallo Manni55,
ich muss dir leider widersprechen, anhand der Ressource unterscheidet dein Browser die Fenster nicht. Hierzu dient der Fenstername, und der ist identisch.
Es nützt mir auch nichts, wenn du die Beschreibung aus dem ersten Posting, die ich ja leider nicht wirklich verstanden habe (sorry), einfach wiederholst. Das Problem wird mir dadurch nicht deutlicher. Vielleicht verrätst du einmal die URL, unter der das Problem online zu sehen ist?
Aber erst einmal solltest du verschiedene Fensternamen ausprobieren.
Einen schönen Heiligen Abend wünscht
katy
Antwort 4 von Manni55 vom 24.12.2019, 12:25 Options
Hallo Katy,
danke für die Wünsche. Dir auch besinnliche Tage.
Hier die Url: http://manni55.kilu.de/staendige_Aktivitaeten.html
Mein Problem tritt unter "weiterlesen" auf.
Vielleicht wird es ja dadurch deutlicher.
Ich hoffe, du kannst mir helfen
Gruß
Manni
Antwort 5 von katy vom 24.12.2019, 12:42 Options
Hallo Manni55,
nun wirds deutlicher und zumindest mein Browser macht überhaupt kein zweites Fenster auf, sondern nimmt einfach dasselbe PopUp für beide Seiten. Und dies liegt nun wirklich am gleichen Namen "Tutorials". Nenne das eine "Tutorials1", das andere "Tutorials2" (oder sonst irgendwie verschieden).
katy
Antwort 6 von Manni55 vom 24.12.2019, 13:07 Options
Hallo Katy,
danke für die schnelle Hilfe. Das geht schon besser als meine Version mit dem Nachteil, das sich in der Taskleiste eine Menge Fenster ansammeln.
Ist es auch möglich, dass wenn ein zweites pupup Fenster aufgeht, das erste geschlossen wird?
Viel Grüße
Manni
Antwort 7 von Manni55 vom 24.12.2019, 13:18 Options
Nachtrag:
in der alten Version wurde nach jedem Klick der Inhalt des popup Fensters geändert, nur das Fenster blieb minimiert. Daher meine Überlegung das popup Fenster im Vordergrund zu halten, dann hätte man nur eins und nicht so viele.
Auch geht es nicht , dass ich bei der seperaten Namensgebung auf einen schon mal benutzen Link klicke, da das Fenster ja schon auf ist allerdings nur minimiert.
Hab ich mich wieder kompliziert ausgedrückt?
Gruß
Manni
Antwort 8 von katy vom 24.12.2019, 13:28 Options
Hallo Manni55,
prinzipell ist das möglich, dazu müsstest du dir einfach irgendwo merken, welche Fenster geöffnet sind.
Ich kann das jetzt nur skizzieren, denn zur Analyse deines Quellcodes fehlt mir die Zeit.
Im head-Bereich etwa so etwas
<script type="text/javascript">
var fenster=null;
</script>
und deine PopUp-Aufrufe müsstest du ungefähr so umschreiben:
function Kommentar01()
{
if (fenster) fenster.close();
fenster = window.open("Kommentare_zu_Aktivitaeten/staendige_Aktivitaeten/Kommentar01.html", "Tutorials1", "width=350, height=400, scrollbars=yes");
}
(achte auch auf die von mir geänderte Schreibweise bei scrollbars=yes)
katy
Antwort 9 von Manni55 vom 24.12.2019, 13:33 Options
Hallo Katy,
vielen Dank einstweilen. Ich kann das jetzt auch nicht so ausprobieren, ich bin in Sachen Weihnachtsbaum unterwegs.
Ich gebe dir Bescheid, wenn ich einen Versuch gestartet habe.
Alles Gute
Manni
Antwort 10 von Helfer1 vom 24.12.2019, 15:42 Options
Hi, das folgende habe ich in SelfHTML gefunden. Vielleicht geht das, wenn du es in deinem Code einbindest..
Zitat:
<script type="text/javascript">
<!--
function immervorn() {
self.focus();
window.setTimeout("immervorn()",100);
}
//-->
</script>
Im einleitenden <body>-Tag wird außerdem notiert:
<body onLoad="immervorn()">
Die selbstgeschriebene Funktion immervorn() setzt dabei mit der Methode focus() den Fokus auf das eigene Fenster - und zwar alle 100 Millisekunden, also jede zehntel Sekunde. Dazu ruft sich die Funktion mit setTimeout() nach der entsprechenden Zeit selbst wieder auf (Rekursion). Durch den Event-Handler onLoad wird sie nach dem Laden der Seite erstmals aufgerufen.
Antwort 11 von Helfer1 vom 24.12.2019, 17:38 Options
.. noch ein Beispiel:
Zitat:
<script type="text/javascript">
<!--
function NaviFenster() {
Navigation = window.open("navigat.htm","Navigation","height=100,width=300");
Navigation.focus();
}
// -->
</script>
</head>
<body onLoad="NaviFenster()">
<h1>Seite mit "Fernbedienung"</h1>
</body></html>
Navigation entspricht bei dir
Tutorials. Du musst die Namen
Tutorials der Popus nummerieren in
Tutorials1 und
Tutorials2.
focus() setzt die Fenster immer in den Vordergrund.
Antwort 12 von Manni55 vom 25.12.2019, 07:39 Options
Hallo Katy,
ich hab es ausprobiert und es klappt gut. Vielen Dank für deine Hilft.
Weiterhin noch schöne Weihnachten.
Hallo Helfer1,
ich würde deinen Vorschlag auch gerne ausprobieren aber ich weiß nicht genau, an welcher Stelle ich die Codes einsetzen muss.
Kannst du mir da einen Tipp geben.
Danke
Manni
Antwort 13 von katy vom 25.12.2019, 08:53 Options
Frohe Weihnachten,
von der ersten Variante von helfer1 würde ich abraten, denn das legt den Rechner lahm, denn du kannst dann nicht mehr ernsthaft andere Programme oder nur gar mal ein anderes Browserfenster nutzen. Der Pogrammcode bedeutet:
egal was ich tue, bringe alle 0,1Sec dieses Fenster in den Vordergrund. da hilft irgendwann nur noch
schließen.
Das zweite kannst du - wenn du magst - einfügen bei:
function Kommentar01()
{
if (fenster) fenster.close();
fenster = window.open("Kommentare_..);
fenster.focus;
}
katy
Antwort 14 von Manni55 vom 25.12.2019, 12:33 Options
Hy Katy,
ich komme damit nicht so zurecht. Ich weiß nicht wirklich an welcher Stelle was stehen muss. Ist auch nicht so schlimm, da ich mit deiner Variante gut zufrieden bin.
Gruß
Manni
Antwort 15 von katy vom 26.12.2019, 09:57 Options
Hallo Manni55,
vergleiche einfach den Quellcode in Antwort 13 mit dem in Antwort 8. Eine Zeile ist dazu gekommen. Das wars auch schon. Wenn du die überall in deine Funktionen einfügst ist sicher gestellt, dass das PopUp-Fenster jedesmal nach vorn geholt wird und den Focus erhält.
Vrolijk kerstfeest
katy
Antwort 16 von Manni55 vom 27.12.2019, 06:04 Options
Hallo Katy,
Weihnachten gut verlebt?
Ich habe die Zeile "fenster.focus;" hinzugefügt.
Es hat sich nichts verändert. Zumindest beleibt das Popupfenster nicht ständig im Vordergrund.
Grüße
Manni
Antwort 17 von katy vom 27.12.2019, 09:21 Options
Hallo Manni55,
dazu war das auch nicht gedacht. Mit
fenster.focus
holst du in diesem Moment das fenster nach vorn. Was danach damit passiert ist dem User überlassen. Eigentlich finde ich das eine gute Option.
Die Alternative ist das, was ich oben mit "
den Rechner lahm legen" tituliert habe, also alle paar Millisekunden die Eigenschaft
fenster.focus
wiederholen. Ich halte so etwas für keine gute Idee, allenfalls in manchen Intranet-Anwendungen mag das gehen. Im Internet ist für mich ein derartiger Eingriff in die Selbstbestimmung des Seitenbesuchers tabu.
Einen schönen Tag wünscht
katy
Antwort 18 von Manni55 vom 27.12.2019, 14:15 Options
Hallo Katy,
vielen Dank für deine Wünsche. Auch dir einen schönen Tag.
Ich mache das so wie in Antwort 8 beschrieben. .
Ich sehe zur Antwort 13 keinen Unterschied, beides klappt gut.
Ich bin gut zufrieden.
Gruß
Manni
Antwort 19 von Manni55 vom 07.01.2020, 23:00 Options
Hallo Katy,
du hast mir doch letztens das Skript gschrieben (siehe Antwort 8)
Jetzt ist mir aufgefallen, Wenn ich das Popupfenster öffne und dann wieder schließe, kann ich es nicht mehr aufrufen, ich bekomme eine Fehlermeldung.
Das ist mir bisher noch nicht aufgefallen.
Wenn ich nur zwischen unterschiedlichen Links wechsel öffnen und schließen sich die Popups problemlos.
Vielleicht kannst du mir noch einmal helfen.
Gruß
Manni
Antwort 20 von Bregenz vom 07.01.2020, 23:02 Options
Schreib ihr das doch über Pager (in der Visitenkarte); dann findet die das eher.