cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > Forum
Yet Another Bulletin Board

Willkommen, Gast. Bitte Einloggen oder Registrieren.
21. Oktober 2021 um 03:29

Übersicht Übersicht Hilfe Hilfe Suche Suche Mitglieder Mitglieder Einloggen Einloggen Registrieren Registrieren
cgicorner.ch « PopUp in cal II »


   cgicorner.ch
   Hilfe
   cal

   PopUp in cal II
« Vorheriges Thema | Nächstes Thema »
Seiten: 1  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken
   Autor  Thema: PopUp in cal II  (Gelesen 9365 mal)
C. Dedner
Gast

E-Mail

PopUp in cal II
« am: 25. Januar 2005 um 11:07 »
Zitieren Zitieren Bearbeiten Bearbeiten Löschen Löschen

Hallo,  
nochmals eine Frage zum Popup im Cal:
Klickt man im Kalender auf einen Termin, so erscheint ein PopUp-Fenster mit den Details zu dem Termin. Klickt man dann nochmals auf ein anderes Datum, so erscheint dieser Termin im gleichen PopUp, ABER: das Popup verschwindet in den Hintergrund, da der User ja wieder ins Hauptfenster geklickt hat.  
Gibt es eine Möglichkeit das so zu programmieren, dass das Popup "immer im Vordergrund" bleibt?
Danke für Tipps
Gruß C. Dedner
gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 790
Re: PopUp in cal II
« Antworten #1 am: 25. Januar 2005 um 18:27 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo
 
Danke für den Hinweis. Ich denke wirklich, dass dies noch verbesserungswürdig ist.
 
Die gewünschte Funktion ist sehr schnell eingebaut. Suchen Sie nach folgenden Zeilen:
print "<CENTER><A HREF=\"#\" onClick=\"window.close()\">[Fenster schliessen]</A></CENTER>";
print "<SCRIPT TYPE=\"text/javascript\">window.focus();</SCRIPT>";
print "</BODY></HTML>";

(ca. Zeile 370)
 
Fügen Sie dann die fettgedruckte Zeile ein:
print "<CENTER><A HREF=\"#\" onClick=\"window.close()\">[Fenster schliessen]</A></CENTER>";
print "<SCRIPT TYPE=\"text/javascript\">window.focus();</SCRIPT>";
print "</BODY></HTML>";

 
Danach sollte das Fenster eigentlich automatisch in den Vordergrund kommen, wenn ein anderer Termin angeklickt wird.
 
Die Funktion wird übrigens in zukünftigen Versionen von cal integriert sein.
 
Freundliche Grüsse
Jürg Sommer
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
C. Dedner
Gast

E-Mail

Re: PopUp in cal II
« Antworten #2 am: 26. Januar 2005 um 08:18 »
Zitieren Zitieren Bearbeiten Bearbeiten Löschen Löschen

Ja! funktioniert wunderbar!
Das Fenster verschwindet zwar kurz, kommt aber dann gleich wieder zum Vorschein!
Vielen Dank für Ihe Hilfe!
Gruß C. Dedner
gespeichert
Dedner
Gast

E-Mail

Re: PopUp in cal II
« Antworten #3 am: 26. Januar 2005 um 10:02 »
Zitieren Zitieren Bearbeiten Bearbeiten Löschen Löschen

Aber: Kann es sein, dass diese Änderung nur im IE funktioniert? In Netscape scheint es keine Auswirkung zu haben?
gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 790
Re: PopUp in cal II
« Antworten #4 am: 26. Januar 2005 um 19:33 »
Zitieren Zitieren Bearbeiten Bearbeiten

Guten Tag
 
Alle Scripts von cgicorner.ch und somit auch die Änderung an cal werden mit folgenden Browsern getestet:

  • Opera 7.54
  • Mozilla 1.7.x
  • Firefox 1.0
  • Internet Explorer 5.5 / 6.0

Unter diesen Browsern funktioniert der Code. Ich weiss nun nicht, was mit Netscape gemeint ist. Netscape 6 und 7 entsprechen weitgehend dem Mozilla (allerdings in einer ziemlich alten Version). Hier sollte es meiner Meinung nach funktionieren.
 
Netscape 4.x hingegen ist nun wirklich sehr alt, da schliesse ich Probleme nicht aus. Da das Fenster mittels Javascript wieder in den Vordergrund geholt wird, ist es halt Browserabhängig.
 
Ich hoffe, diese Info hilft weiter.
 
Freundliche Grüsse
Jürg Sommer
 
PS: Es gibt übrigens durchaus auch Werbeblocker, welche verhindern, dass POP-Ups in den Vordergrund geholt werden. Auch hier könnte eine Fehlerquelle liegen. Mit deaktiviertem JavaScript funktioniert's natürlich auch nicht...
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
dementi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 6
Re: PopUp in cal II
« Antworten #5 am: 08. Dezember 2009 um 17:21 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo!
 
Ich greif mal dieses ältere Thema auf, da das Problem nach wie vor auch in Version 1.08 existiert. Getestet mit IE 8.0 und Firefox 3.5.5. Für die Userfreundlichkeit wirklich ungünstig
 
Allerdings finde ich die genannten Codezeilen nicht. Bin ich blind oder sind sie nicht mehr da? Gibt es gar eine andere Lösung?  
 
Danke und Gruß
Dementi
 
gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 790
Re: PopUp in cal II
« Antworten #6 am: 08. Dezember 2009 um 18:32 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Dementi
 
Die Sache ist mittlerweile im Standard-Script (Zeile 351). Allerdings blocken viele Werbeblocker und Browser diese Funktion mittlerweile (Werbe-Pop-Ups verwenden die selbe Funktion).
 
Alternativ kannst du die Fenster immer in einem neuen Fenster öffnen lassen: dazu musst du die Zeilen, die
onClick=\"PopUpFenster
enthalten anpassen. Bei cal 1.08 sind dies die Zeilen 183, 185, 193, 195 und 227 (kommt nochmals einige Male vor, dort betriffts aber nur den Adminbereich, ggf. kannst du die aber auch ändern).
 
Die Funktion PopUpFenster hat im ersten Argument die URL, im zweiten das Frame und im dritten die Parameter. Den Framenamen 'cal' musst du durch '_blank' ersetzen.
 
Dadurch hast du das Fenster immer im Vordergrund, dafür wird's unübersichtlich. Du kannst entscheiden, was besser ist...
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
dementi
YaBB Newbie
*



I love YaBB 1G - SP1!

   


Beiträge: 6
Re: PopUp in cal II
« Antworten #7 am: 08. Dezember 2009 um 20:55 »
Zitieren Zitieren Bearbeiten Bearbeiten

N'Abend Jürg!
 
Wieder superschnelle Antwort. Danke. Ich hab es gerade noch mal ausgiebig getestet. Ernüchterndes Ergebnis.
Im reinen IE8 ohne zusätzlichen blocker geht's, ebenso mit Safari unter Mac. Ausgerechnet der aktuelle Firefox 3.5.5 lässt das Fenster sowohl unter Windows als auch Mac zuverlässig im Hintergrund verhungern.
 
Für jeden Klick ein neues Fenster zu Öffnen finde ich "schwierig" - ich kenne genug User, die nach einer ausgiebigen Stöbersession ziemlich erschrocken wären, wie viele Fenster plötzlich offen sind ohne das sie vorher etwas bemerkt hätten ...  
 
Ich habe gerade mal die Glasgoogle befragt und bin hierauf gestoßen:
 
http://www.dynamicdrive.com/dynamicindex17/interstitial.htm
 
bzw.
 
http://www.huddletogether.com/projects/lightbox/
 
Wäre dass nicht etwas für eine zukünftige Version?  Wink  
Ist zwar auf eine gewisse Weise recht radikal, weil der User auf den "richtigen" Weg gezwungen wird, macht die Sachlage aber eindeutig und funktioniert auch trotz Popup-Blocker.  
Was hälst Du davon?  
 
Grüße!
 
 
gespeichert
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 790
Re: PopUp in cal II
« Antworten #8 am: 08. Dezember 2009 um 22:53 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Dementi
 
Ja, das mit den neuen Fenstern finde ich eben auch nicht spitze, ist aber das Einzige, was zuverlässig funktioniert.
 
Was du auch machen könntest wäre ein IFRAME mit dem Namen "cal". Ein Klick würde die Seite dann in diesem IFRAME öffnen.
 
Was du mit dieser Lightbox hast ist halt sehr Javascript-Lastig, ich persönlich habe diese Lightbox nicht so gerne, zumal man ja heute schon mit dem AJAX-Mouseover so eine Art Inline-Vorschau hat. Mit Lytebox (http://www.dolem.com/lytebox/), einem ähnlichen Script bringst du es aber auch mit der aktuellen Version schon zum laufen. Die Lightbox funktioniert wahrscheinlich auch, kenne ich aber nicht im Detail.
 
Lytebox könntest du in der Funktion "sub HTMLbegin" einbauen, dort vor &popUpFenster (Version 1.08: Zeile 1668):
 
if ($FORM{"action"} eq "") {
print "<script type=\"text/javascript\" language=\"javascript\" src=\"lytebox/lytebox.js\"></script><link rel=\"stylesheet\" href=\"lytebox/lytebox.css\" type=\"text/css\" media=\"screen\" />\n";
}

 
Pfadangaben zur lytebox.css und lytebox.js anpassen!
 
Dann müsstest du auf der Detailseite den schliessen und Focus-Link ausblenden (Zeilen 352 und 353) mit # versehen:
#print "<center><a href=\"#\" onClick=\"window.close()\">[ Fenster schliessen ]</a></center>" if ($FORM{"ajax"} ne "true");
#print "<script type=\"text/javascript\">zwindow.focus();</script>";

 
Nun noch die Links auf den Zeilen 184, 186, 194 und 196 anpassen:
 
Den HREF und ONCLICK ersetzt du durch einen normalen HREF, also
href=\"#\" onClick=\"PopUpFenster('$COMPCGIURL?action=showdate&day=$i&month=$dateArray[4]&year=$dateArray[5]','cal',480,300,100,100)\"
wird zu
href=\"$COMPCGIURL?action=showdate&day=$i&month=$dateArray[4]&year=$date Array[5]\"
 
Dann unmittelbar dahinter noch folgendes anfügen:
rel=\"lyteframe\"  rev=\"width: 480px; height: 300px; scrolling: auto;\"
 
Die fertige Zeile sieht dann z.B. so aus:
print "<a href=\"$COMPCGIURL?action=showdate&day=$i&month=$dateArray[4]&year=$dateArray[5]\" rel=\"lyteframe\"  rev=\"width: 480px; height: 300px; scrolling: auto;\" onmouseover=\"makeRequest('$COMPCGIURL?action=showdate&day=$i&month=$dateArray[4]&year=$dateArray[5]&ajax=true')\" onmouseout=\"verstecke('ajaxcal')\" class=\"bold\">$i</a></td>";
 
(das hintere onmouseover und onmouseout unverändert belassen, existiert nur auf 2 von 4 Zeilen)
 
So müsste es funktionieren. Ich bin aber ehrlich gesagt kein Fan davon, aber aufdringlich genug ist es... :)
 
Viel Spass beim pröbeln!
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
Seiten: 1  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken

« Vorheriges Thema | Nächstes Thema »

cgicorner.ch » Powered by YaBB 1 Gold - SP3!
YaBB © 2000-2004. All Rights Reserved.