Forum zum WebKicks.De Chatsystem Foren-Übersicht Forum zum WebKicks.De Chatsystem
Support-Forum zum WebKicks-Chatsystem
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Dieses Forum dient als Archiv, es können keine neuen Beiträge eröffnet werden.

Hier geht es zum neuen Webkicks Forum
.

Nick-Menü in Onlineliste
Gehe zu Seite 1, 2, 3 ... 10, 11, 12  Weiter
 
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Forum zum WebKicks.De Chatsystem Foren-Übersicht -> Individuelle Änderungen / Anpassungen / Erweiterungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
1. FC Keller
Moderator



Anmeldedatum: 04.07.2004
Beiträge: 4176
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda

BeitragVerfasst am: 22.10.2007, 20:36    Titel: Nick-Menü in Onlineliste Antworten mit Zitat

Mit diesem Script wird beim Klick auf einen Nick in der Onlineliste ein Menü geöffnet. In diesem Menü werden dann verschiedene Befehle aufgelistet, die beim Klick auf den Menüpunkt im Eingabeframe erscheinen.

Der Übersicht wegen wurde das alte Thread "aufklappbares Menü" entfernt und dieses neue erstellt. Vielen Dank nochmal an die Tester und Mitscripter Winken

Die Grundscriptsammlung ist Voraussetzung für das Script.
Der folgende Code muss in die Ankündigung:
Code:
<script language="javascript">ie=(document.all&&!window.innerWidth && navigator.userAgent.toLowerCase().indexOf("msie") != -1)?1:0; function clkmenu(){p=parent; r=p.rightFrame.document; s=r.getElementsByTagName("span"); for(i=0;i<s.length;i++){ if(s[i].onclick){ s[i].onclick=function(e){ e=(e?e:parent.rightFrame.event); p.lstClcked=this.parentNode.title.split(" ")[0]; parent.rightFrame.olMenu(e.clientX,e.clientY);return false}}} parent.rightFrame.olMenu = function(xPosition,yPosition){if(parent.menuTO) {window.clearTimeout(parent.menuTO);} r=parent.rightFrame.document; r.getElementById("menu").style.display=(ie?"block":"table"); with(ie?r.all.menu.style:r.getElementById("menu").style){position="absolute"; top=yPosition; left=xPosition;} parent.menuTO=window.setTimeout("parent.rightFrame.document.getElementById('menu').style.display='none'", 4000)}} window.setInterval("clkmenu()",1600); function mkTd(befTxt, clckbef, hinterNick, anfuegen, fntCol){ p=parent; r=p.rightFrame.document; s=r.getElementsByTagName("span"); tr=r.createElement("tr"); td=r.createElement("td"); eval("td.onclick=function(e){a=parent.info.document.eingabe.message; a.value"+(anfuegen?"+":"")+"='"+clckbef+"'+parent.lstClcked"+(hinterNick?"+'"+hinterNick+"'":"")+"; parent.rightFrame.document.getElementById('menu').style.display='none'; a.focus();pos=a.createTextRange(); pos.collapse(false); pos.select();}"); if(fntCol)td.style.color=fntCol; bef=r.createTextNode(befTxt); td.appendChild(bef); tr.appendChild(td); tbdy.appendChild(tr)} function createTable(){ if(parent.rightFrame.document && !parent.rightFrame.document.getElementById("menu")){ tbl=r.createElement("table"); tbl.style.border="1px dotted #000000"; tbl.style.color="#000000"; tbl.style.backgroundColor="#ff6600"; tbl.style.display="none"; tbl.style.zIndex=1; tbl.setAttribute("id", "menu"); tbdy=r.createElement("tbody"); tbl.appendChild(tbdy); mkTd("Flüstern","/f ", " ");mkTd("Nick einfügen", "", "", 1); mkTd("Anschreiben", "/me sagt zu ", ":"); if(myStatus>=1){ mkTd("PM","/pm ", " ");} if(myStatus>=2){ mkTd("Restore","/restore ", " #0000ff"); mkTd("IP anzeigen","/rmip "); mkTd("Knebel","/knebel "); mkTd("Move","/move ", " "); mkTd("Kick","/kick "); mkTd("Bann","/bann ");} if(myStatus==3){ mkTd("Mod ernennen","/makemod "); mkTd("Mod entziehen", "/modkick ");} r.body.appendChild(tbl); }} window.setInterval("createTable()",1600);</script>


Anpassen kann man den Style des Menüs:
Code:
tbl.style.border="1px dotted #000000"; tbl.style.color="#000000"; tbl.style.backgroundColor="#ff6600";


Weiterhin sind die Menüpunkte anpassbar. 3. und 4. Parameter sind optional. Wenn man einen 3. Parameter angibt, so erscheint der hier angegebene Text hinter dem Nick. Wenn man als 4. Parameter eine 1 angibt, dann ersetzt der Text nicht den im Eingabefeld, sondern wird hinten angefügt... Bei Befehlen wie /f wird das weniger Sinnvoll sein. Es sind allerdings auch Menüpunkte denkbar, die zum Beispiel nur den Nick oder, wie von hamigra gewünscht, "Nicksmilies" in das Eingabefeld einfügen.
Code:
mkTd("Flüstern","/f ", " ");mkTd("Nick einfügen", "", "", 1); mkTd("Anschreiben", "/me sagt zu ", ":"); if(myStatus>=1){ mkTd("PM","/pm ", " ");} if(myStatus>=2){ mkTd("Restore","/restore ", " #0000ff"); mkTd("IP anzeigen","/rmip "); mkTd("Knebel","/knebel "); mkTd("Move","/move ", " "); mkTd("Kick","/kick "); mkTd("Bann","/bann ");} if(myStatus==3){ mkTd("Mod ernennen","/makemod "); mkTd("Mod entziehen", "/modkick ");}


Der Flüsterbefehl, "Nick einfügen" und "Anschreiben" wird hier grundsätzlich eingesetzt, PM für alles ab registriertem User, restore, rmip, knebel, move, kick und bann ab Moderator und makemod sowie modkick nur für Admins. Durch Ergänzen oder Entfernen von mkTd("TEXT", "/BEFEHL ") - Aufrufen kann das Menü um Punkte erweitert bzw. verkürzt werden.

Für die, die lieber js-Dateien verwenden als so lange Codes in die Ankündigung zu kopieren hier auch nochmal eine strukturierte Version des Codes:

Code:
ie=(document.all&&!window.innerWidth && navigator.userAgent.toLowerCase().indexOf("msie") != -1)?1:0;
function clkmenu(){
  p=parent;
  r=p.rightFrame.document;
  s=r.getElementsByTagName("span");
  for(i=0;i<s.length;i++){
    if(s[i].onclick){
      s[i].onclick=function(e){
      e=(e?e:parent.rightFrame.event);
      p.lstClcked=this.parentNode.title.split(" ")[0];
      parent.rightFrame.olMenu(e.clientX,e.clientY);
      return false
      }
    }
  }
  parent.rightFrame.olMenu = function(xPosition,yPosition){
    if(parent.menuTO){
      window.clearTimeout(parent.menuTO);
    }
    r=parent.rightFrame.document;
    r.getElementById("menu").style.display=(ie?"block":"table");
    with(ie?r.all.menu.style:r.getElementById("menu").style){
      position="absolute"; top=yPosition; left=xPosition;
    }
    parent.menuTO = window.setTimeout("parent.rightFrame.document.getElementById('menu').style.display='none'", 4000)
  }
}
window.setInterval("clkmenu()",1600);
function mkTd(befTxt, clckbef, hinterNick, anfuegen, fntCol){
  p=parent;
  r=p.rightFrame.document;
  s=r.getElementsByTagName("span");
  tr=r.createElement("tr");
  td=r.createElement("td");
  eval("td.onclick=function(e){a=parent.info.document.eingabe.message; a.value"+(anfuegen?"+":"")+"='"+clckbef+"'+parent.lstClcked"+(hinterNick?"+'"+hinterNick+"'":"")+"; parent.rightFrame.document.getElementById('menu').style.display='none'; a.focus();pos=a.createTextRange(); pos.collapse(false); pos.select();}");
  if(fntCol)td.style.color=fntCol;
  bef=r.createTextNode(befTxt);
  td.appendChild(bef);
  tr.appendChild(td);
  tbdy.appendChild(tr)
}
function createTable(){
  if(parent.rightFrame.document && !parent.rightFrame.document.getElementById("menu")){
    tbl=r.createElement("table");
    tbl.style.border="1px dotted #000000";
    tbl.style.color="#000000";
    tbl.style.backgroundColor="#ff6600";
    tbl.style.display="none";
    tbl.setAttribute("id", "menu");
    tbdy=r.createElement("tbody");
    tbl.appendChild(tbdy);
    mkTd("Flüstern","/f ", " ");
    mkTd("Nick einfügen", "", "", 1);
    mkTd("Anschreiben", "/me sagt zu ", ":");
    if(myStatus>=1){
      mkTd("PM","/pm ", " ");
    }
    if(myStatus>=2){
      mkTd("Restore","/restore ", " #0000ff");
      mkTd("IP anzeigen","/rmip ");
      mkTd("Knebel","/knebel ");
      mkTd("Move","/move ", " ");
      mkTd("Kick","/kick ");
      mkTd("Bann","/bann ");
    }
    if(myStatus==3){
      mkTd("Mod ernennen","/makemod ");
      mkTd("Mod entziehen", "/modkick ");
    }
    r.body.appendChild(tbl);
  }
}
window.setInterval("createTable()",1600);


Zuletzt bearbeitet von 1. FC Keller am 07.04.2009, 12:59, insgesamt 4-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Nikeair




Anmeldedatum: 11.01.2007
Beiträge: 1066
Wohnort: Koblenz

BeitragVerfasst am: 22.10.2007, 21:33    Titel: Antworten mit Zitat

daniel goil gemacht
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
hamigra




Anmeldedatum: 31.08.2006
Beiträge: 1601
Wohnort: Werdau

BeitragVerfasst am: 22.10.2007, 21:52    Titel: Antworten mit Zitat

DANKEEEEE
Jetzt funzt es in ALLEN Browsern.
Ich hab es gleich in der *.js und es klappt.

edit:22:45 Uhr - Den Alarmbutten und das Verbergen des Alarmlinks mußte ich, wie in Grundscript erwähnt, rausnehmen!

nochmal edit:
1. FC Keller hat Folgendes geschrieben:
... wie von hamigra gewünscht, "Nicksmilies" in das Eingabefeld einfügen.
Code:
... mkTd("Nick einfügen", "", "", 1);...

Da die Namensmilies aber auch mit einem Doppelpunkt beginnen, muß dieser noch eingefügt werden:
... mkTd("Nick einfügen", ":", "", 1);...


Zuletzt bearbeitet von hamigra am 22.10.2007, 23:06, insgesamt 3-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarcusG




Anmeldedatum: 31.07.2007
Beiträge: 19

BeitragVerfasst am: 22.10.2007, 22:34    Titel: Antworten mit Zitat

hamigra hat Folgendes geschrieben:
DANKEEEEE
Jetzt funzt es in ALLEN Browsern.
Ich hab es gleich in der *.js und es klappt.


kann ich das an eine vorhandene *.js unten anhängen oder muss ich da was beachten?

Im Moment lade ich 3 verschiedene .js ...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
1. FC Keller
Moderator



Anmeldedatum: 04.07.2004
Beiträge: 4176
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda

BeitragVerfasst am: 22.10.2007, 22:39    Titel: Antworten mit Zitat

Wieso zitierst du da hamigra?

Du kannst es auch in einer anderen js-Datei hinten ran setzen. Zu beachten ist da nichts... natürlich sollte man es nicht mitten in eine andere Funktion einsetzen oder die Codes auf andere Weise zerstören... wenn du sie einfach "räumlich getrennt" in einer Datei einsetzt gibts keine Probleme.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarcusG




Anmeldedatum: 31.07.2007
Beiträge: 19

BeitragVerfasst am: 22.10.2007, 22:44    Titel: Antworten mit Zitat

1. FC Keller hat Folgendes geschrieben:
Wieso zitierst du da hamigra?


Weil sie schrieb "hab es gleich in der *.js"...

Danke! Sehr glücklich
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Marle




Anmeldedatum: 26.08.2007
Beiträge: 169

BeitragVerfasst am: 22.10.2007, 22:52    Titel: Antworten mit Zitat

Welchen Teil von den Codes oben brauch ich denn dann nur für das Menü ...wenn ich das noch in eine .js einsetzen will ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
1. FC Keller
Moderator



Anmeldedatum: 04.07.2004
Beiträge: 4176
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda

BeitragVerfasst am: 22.10.2007, 22:56    Titel: Antworten mit Zitat

Na den letzten...
1. FC Keller hat Folgendes geschrieben:
Für die, die lieber js-Dateien verwenden als so lange Codes in die Ankündigung zu kopieren hier auch nochmal eine strukturierte Version des Codes:
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Marle




Anmeldedatum: 26.08.2007
Beiträge: 169

BeitragVerfasst am: 22.10.2007, 23:01    Titel: Antworten mit Zitat

OK , hab ich wohl überlesen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Marle




Anmeldedatum: 26.08.2007
Beiträge: 169

BeitragVerfasst am: 22.10.2007, 23:12    Titel: Antworten mit Zitat

Wie soll das dann eigentlich noch mal aussehen , wenn es funktioniert ?

Screenshot ?


Wenn ich den Code so nehme , dann kann ich nicht mehr flüstern .

Und irgendwie seh ich es leider nicht .


Zuletzt bearbeitet von Marle am 22.10.2007, 23:24, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarcusG




Anmeldedatum: 31.07.2007
Beiträge: 19

BeitragVerfasst am: 22.10.2007, 23:21    Titel: Antworten mit Zitat

Kann mir jemand erklären wozu das hier gut ist?

Code:
... mkTd("Nick einfügen", "", "", 1);...


Ich find den alten Thread "Ausklappbares Menü" nicht mehr... Verlegen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hamigra




Anmeldedatum: 31.08.2006
Beiträge: 1601
Wohnort: Werdau

BeitragVerfasst am: 22.10.2007, 23:29    Titel: Antworten mit Zitat

Marle hat Folgendes geschrieben:
Wie soll das dann eigentlich noch mal aussehen , wenn es funktioniert ?

So sieht es aus bei Admins...
Das 'Namen einfügen' habe ich deshalb, weil die meisten User bei mir einen Smilie mit ihren Vornamen haben.

@marcus - lesen würde helfen!!!


Zuletzt bearbeitet von hamigra am 22.10.2007, 23:32, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Marle




Anmeldedatum: 26.08.2007
Beiträge: 169

BeitragVerfasst am: 22.10.2007, 23:31    Titel: Antworten mit Zitat

Hmm ...

also ... ich hab den code als .js auf den webspace gelegt .

Dann hab ich den scriptaufruf in die Admin Ankündigung gepackt ...

Aber ich seh es dann nicht , und flüstern geht dann auf einmal nicht mehr .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChriZ




Anmeldedatum: 02.07.2006
Beiträge: 911
Wohnort: Schwedt/Oder

BeitragVerfasst am: 22.10.2007, 23:31    Titel: Antworten mit Zitat

Auch wenn die eigentliche Frage schon beantwortet wurde....
MarcusG hat Folgendes geschrieben:
Ich find den alten Thread "Ausklappbares Menü" nicht mehr... Verlegen
1. FC Keller hat Folgendes geschrieben:
Der Übersicht wegen wurde das alte Thread "aufklappbares Menü" entfernt und dieses neue erstellt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
1. FC Keller
Moderator



Anmeldedatum: 04.07.2004
Beiträge: 4176
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda

BeitragVerfasst am: 22.10.2007, 23:38    Titel: Antworten mit Zitat

@Marcus:

Code:
mkTd("Nick einfügen", "", "", 1);


Das war ein Beispiel, wie man das Menü nun mit dieser neuesten Version noch nutzen kann. Damit wird nur der Nick hinten an die Eingabezeile angefügt.

Das Beispiel von hamigras Nicksmilies würde so aussehen:
Code:
mkTd("Nicksmilie", ":", "", 1);


Natürlich würde der Menü-Eintrag bei allen angezeigt und eben auch :Nick in der Eingabezeile einfügen, wenn kein Smilie zu diesem Nick vorhanden ist... daher war mir dieser Wunsch etwas suspekt... aber wer es so haben will kann sich das Script eben nun auch in solchen Richtungen anpassen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Forum zum WebKicks.De Chatsystem Foren-Übersicht -> Individuelle Änderungen / Anpassungen / Erweiterungen Alle Zeiten sind GMT + 2 Stunden
Gehe zu Seite 1, 2, 3 ... 10, 11, 12  Weiter
Seite 1 von 12

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de