Hey an alle, die eigene Smilies uneingeschränkt nutzen wollen!
Endlich geschafft... innerhalb der letzten 1 1/2 - 2 Std. hab ich ein Script entworfen, das es möglich macht eigene Smilies (so viel man will) in seinem GB zu verwenden!
So funktionierts (hier im Beispiel werden Smilies verwendet, die sich auf dem Server increase-web.de befinden):
1. Auf der Eintragungsseite folgendes JS-Script zwischen "<head>" und "</head>" einfügen:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<script type="text/javascript">
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie4up = (is_ie && (is_major >= 4));
var is_gecko = (agt.indexOf('gecko') != -1);
function Smilie(text){
document.neu.nachricht.focus();
if(is_ie4up){
document.neu.nachricht.caretPos.text = document.neu.nachricht.caretPos.text + text;
}
else{
if(is_gecko){
edit = document.neu.nachricht;
edit.value = edit.value.substring(0, edit.selectionStart) +
edit.value.substring(edit.selectionStart, edit.selectionEnd) + text +
edit.value.substring(edit.selectionEnd, edit.value.length);
}
else{
document.neu.nachricht.value += text;
}
}
}
function storeCaret(textEl){
if (textEl.createTextRange){
textEl.caretPos = document.selection.createRange().duplicate();
}
}
</script>
|
2. Zwischen "<body>" und "</body>" folgendes einfügen/ändern:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<a href="javascript:Smilie(' :D ')"><img src="http://www.increase-web.de/content/bilder/smilies/bigsmile.gif" border="0"></a>
<a href="javascript:Smilie(' :) ')"><img src="http://www.increase-web.de/content/bilder/smilies/smile.gif" border="0"></a>
<a href="javascript:Smilie(' :P ')"><img src="http://www.increase-web.de/content/bilder/smilies/cheeky.gif" border="0"></a>
<a href="javascript:Smilie(' 8) ')"><img src="http://www.increase-web.de/content/bilder/smilies/cool.gif" border="0"></a>
<a href="javascript:Smilie(' =) ')"><img src="http://www.increase-web.de/content/bilder/smilies/happy.gif" border="0"></a>
<a href="javascript:Smilie(' ;) ')"><img src="http://www.increase-web.de/content/bilder/smilies/wink.gif" border="0"></a>
<a href="javascript:Smilie(' :-* ')"><img src="http://www.increase-web.de/content/bilder/smilies/kiss.gif" border="0"></a>
<a href="javascript:Smilie(' :] ')"><img src="http://www.increase-web.de/content/bilder/smilies/pleased.gif" border="0"></a>
<a href="javascript:Smilie(' :O ')"><img src="http://www.increase-web.de/content/bilder/smilies/redface.gif" border="0"></a>
<a href="javascript:Smilie(' :\'( ')"><img src="http://www.increase-web.de/content/bilder/smilies/crying.gif" border="0"></a>
<a href="javascript:Smilie(' :( ')"><img src="http://www.increase-web.de/content/bilder/smilies/sad.gif" border="0"></a>
<a href="javascript:Smilie(' X( ')"><img src="http://www.increase-web.de/content/bilder/smilies/mad.gif" border="0"></a>
<a href="javascript:Smilie(' :C ')"><img src="http://www.increase-web.de/content/bilder/smilies/evil.gif" border="0"></a>
<br>
<textarea name="nachricht" cols="35" rows="8" onkeyup="storeCaret(this);" onclick="storeCaret(this);" onselect="storeCaret(this)"></textarea>
|
Die Smilie-Kürzel und die Url's (bsp.: "http://www.increase-web.de/content/bilder/smilies/bigsmile.gif") können durch die gewünschten/benutzerdefinierte Kürzel und Url's ersetzt werden... Zusätzlich lassen sich natürlich mehrer Kürzel und Url's hinzufügen.
Auf der Seite, die auf den FLF Book- Server hochgeladen wird, muss folgendes geändert werden:
1. zwischen <head></head> das neue Javascript einfügen:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<script type="text/javascript">
var xx = 0;
function SerchAndReplace(){
var SmilieCode = new Array();
SmilieCode[0] = ":D";
SmilieCode[1] = ":P";
SmilieCode[2] = "8)";
SmilieCode[3] = ":'(";
SmilieCode[4] = ":C";
SmilieCode[5] = "=)";
SmilieCode[6] = ":-*";
SmilieCode[7] = "X(";
SmilieCode[8] = ":]";
SmilieCode[9] = ":O";
SmilieCode[10] = ":(";
SmilieCode[11] = ":)";
SmilieCode[12] = ";)";
var SmilieImg = new Array();
SmilieImg[0] = '<img src="http://www.increase-web.de/content/bilder/smilies/bigsmile.gif" align="absmiddle">';
SmilieImg[1] = '<img src="http://www.increase-web.de/content/bilder/smilies/cheeky.gif" align="absmiddle">';
SmilieImg[2] = '<img src="http://www.increase-web.de/content/bilder/smilies/cool.gif" align="absmiddle">';
SmilieImg[3] = '<img src="http://www.increase-web.de/content/bilder/smilies/crying.gif" align="absmiddle">';
SmilieImg[4] = '<img src="http://www.increase-web.de/content/bilder/smilies/evil.gif" align="absmiddle">';
SmilieImg[5] = '<img src="http://www.increase-web.de/content/bilder/smilies/happy.gif" align="absmiddle">';
SmilieImg[6] = '<img src="http://www.increase-web.de/content/bilder/smilies/kiss.gif" align="absmiddle">';
SmilieImg[7] = '<img src="http://www.increase-web.de/content/bilder/smilies/mad.gif" align="absmiddle">';
SmilieImg[8] = '<img src="http://www.increase-web.de/content/bilder/smilies/pleased.gif" align="absmiddle">';
SmilieImg[9] = '<img src="http://www.increase-web.de/content/bilder/smilies/redface.gif" align="absmiddle">';
SmilieImg[10] = '<img src="http://www.increase-web.de/content/bilder/smilies/sad.gif" align="absmiddle">';
SmilieImg[11] = '<img src="http://www.increase-web.de/content/bilder/smilies/smile.gif" align="absmiddle">';
SmilieImg[12] = '<img src="http://www.increase-web.de/content/bilder/smilies/wink.gif" align="absmiddle">';
var content = document.getElementById('ReplaceArea').innerHTML;
var searchedCode = SmilieCode[xx];
var alternativeCode = SmilieImg[xx];
if((content == null) || (searchedCode == null)){
return null;
}
if((content.length == 0) || (searchedCode.length == 0)){
return content;
}
if((alternativeCode == null) || (alternativeCode.length == 0)){
alternativeCode = "";
}
var length_searchedCode = searchedCode.length;
var length_alternativeCode = alternativeCode.length;
var pos = content.indexOf(searchedCode, 0);
while (pos >= 0){
content = content.substring(0, pos) + alternativeCode + content.substring(pos + length_searchedCode);
pos = content.indexOf(searchedCode, pos + length_alternativeCode);
}
if (0 >= pos && xx <= SmilieCode.length){
xx++
setTimeout("SerchAndReplace()",1);
}
document.getElementById('ReplaceArea').innerHTML = content;
return content;
}
</script>
|
2. Den Body-tag ergänzen:
|
Quellcode
|
1
|
<body onload="SerchAndReplace();">
|
3. Vor "<!-- BEGIN Eintrag -->" das einfügen:
|
Quellcode
|
1
|
<span id="ReplaceArea">
|
4. Nach "<!-- END Eintrag -->" den Span-tag schließen:
|
Quellcode
|
1
|
</span>
|
Nach diesen Änderungen sollte eigentlich alles funktionieren...
Nun hoffe ich, dass ich nichts vergessen habe (bin schon 1 1/2 Stunden zu lang wach

).
Falls die Änderungen nicht funktionieren sollten bitte auf "Rechtschreibung" überprüfen und den Fehler melden...
Ausführlichere Beschreibung auf Anfrage...
Bei anhaltenden Problemen wird natürlich geholfen...

Getestet mit IE7, FF und Opera...
Sollte sich jemand für die Smilies interessieren, bitte kopieren und auf den eigenen Server hochladen!!! - Ich möchte auf jeden Fall überflüssigen Traffic auf dem Alright Reserved- Server vermeiden! DANKE
Wenn sich jemand die Auswirkungen des Scriptes anschauen möcht, kann er dies gerne unter
http://www.flf-book.de/Benutzer/Alright-Reserved.htm tun.
/////////EDIT:\\\\\\\\\
--Kompletter Beitrag--
/////////EDIT2:\\\\\\\\\
Rechtschreibfehler in Template 1. Code Zeile 12 entfernt ([71] zu [7])
Verbesertes JS-Schnipsel von Uwe (Mister) eingefügt