Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: cms2day Forum - Community & Support rund ums cms2day. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Core24

Fortgeschrittener

  • »Core24« ist männlich
  • »Core24« ist der Autor dieses Themas

Beiträge: 254

CMS Version: 3.9.2 FINAL MOD

Wohnort: 61138 Niederdorfelden

Beruf: Soldat

Paypal:

  • Nachricht senden

1

Donnerstag, 14. Januar 2010, 18:15

Smiliebook "springen" bei Smilieklick verhindern und Javascript-Hinweis bei deaktiviertem JS einblenden

Hi,
nachdem mir aufgefallen ist dass im Smiliebook die Seite nach oben springt wenn man einen Smilie einfügt habe ich mich im Code umgesehen.
Da alle Links der Smilies mit href="#" ausgestattet sind, ist das Phänomen auch nicht verwunderlich.

SPRINGEN BEI HINZUFÜGEN VON SMILIES VERHINDERN:

Abhilfe schafft folgende Änderung in Zeile 245 in der Datei inlcude/module/smileybook/index.inc.php:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
echo "<td>Smiley:</td>\n";
echo "<td><a href="javascript:void(0);" title=":)" onclick="smily(' :) ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/smile.png" alt=":)" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title=";)" onclick="smily(' ;) ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/zwinker.png" alt=";)" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title=":D" onclick="smily(' :D ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/happy.png" alt=":D" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title=":P" onclick="smily(' :P ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/zunge.png" alt=":P" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title="8)" onclick="smily(' 8) ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/cool.png" alt="8)" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title=":S" onclick="smily(' :S ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/verunsichert.png" alt=":S" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title=":(" onclick="smily(' :( ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/cry.png" alt=":(" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title=":rolleyes:" onclick="smily(' :rolleyes: ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/rolleyes.png" alt=":rolleyes:" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title="X(" onclick="smily(' X( ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/boese.png" alt="X(" border="0" /></a></td>\n";
echo "<td><a href="javascript:void(0);" title="=(" onclick="smily(' =( ','book','text');"><img src="".$settings['page_dir']."/includes/module/smileybook/smiley/sauer.png" alt="=(" border="0" /></a></td>\n";
						
echo "</tr>\n";
echo "</table>\n";
echo "</div>\n\n";



TEXT FÜR USER OHNE javascript:





Ausserdem habe ich mir gedacht was mit den Leuten passiert die kein JS aktiviert haben.
Die landen nach einem Klick auf den Smilie auf der Startseite.

Also blende ich bei den Usern mit aktiviertem JS die Smileys ein und bei allen anderen ein kleines Hinweisfenster mit der Nachricht dass Smileys bei aktiviertem JS zur Verfügung stehen würden.

Folgende Änderung macht das möglich:
In der Datei includes/modules/smileybook/modul.js in der ersten Zeile folgendes einfügen:

Quellcode

1
window.onload= function() {document.getElementById('smileys').style.visibility='visible';};


In der Datei includes/modules/smileybook/index.inc.php die Zeile 241 mit folgendem ersetzen:

Quellcode

1
2
echo "<noscript><div style="text-align:center; color: red;">Bei aktiviertem Javascript würde ihnen hier eine Auswahl an Smilies zur Verfügung stehen.</div></noscript>\n\n";
echo "<div id="smileys" style="visibility: hidden">\n";


Alle Änderungen sind CSS-Valid, XHTML-Valid und JS-Valide und funktionieren einwandfrei bei allen Browsern.


Zur Erklärung:
Die Smileybox wird mit der Eigenschaft

Quellcode

1
style="visibility: hidden"
unsichtbar für alle gemacht.
Bei jedem Aufruf des Gästebuchs wird die Datei modul.js aufgerufen in der in der ersten Zeile frei übersetzt steht:
"Wenn die Seite geladen wird mache das Element mit der ID "smilys" sichtbar. Da von allen die JS deaktiviert haben, der Javascript-Code ignoriert wird, bleibt das Fenster auch unsichtbar.

Gruß
CoRe
Aktuelle Module für cms2day 3.9.2:
Userverwaltung / Interner Bereich :: RELEASED
Adminrights :: RELEASED
Content-Boxes :: RELEASED
Statistik :: 60%
Termin- & Eventkalender :: 100%

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Core24« (14. Januar 2010, 18:21)


Werbung

2

Freitag, 15. Januar 2010, 09:32

:search:
Danke - für die Korrektur, hab das GB bisher noch nie benutzt, aber sind sehr wichtige Korrekturen

Gruss
mantis

Werbung