Seite 1 von 1

Flüstern mit Popup-Fenster

Verfasst: 15.09.2011, 16:58
von hamigra
Im alten Forum ist der Thread zum Flüsterfenster.
http://www.wkforum.de/viewtopic.php?p=108343#108343
Thread erstellt von 1FCKeller
Die js-Datei:
Script:Zeigen
var fWinLineNr=0;
var fWinUser={};
var docTds = document.getElementsByTagName("td");
function fWinStream(){
for(i=fWinLineNr;i<docTds.length;i++){
a=lineData(docTds)
if(!!a && a[0]==2 && !!(docTds.innerHTML.match(/ fl.stert<.span>:/i))){
/(\w+) fl.stert<.span>/i.exec(docTds.innerHTML);
nick = RegExp.$1;
//alert(nick+" an dich");
if(!!fWinUser[nick]){
fWinUser[nick].messages[fWinUser[nick].messages.length] = docTds.innerHTML.replace(/ flüstert/, "");
fWinUser[nick].lineNr.push(i);
if(!!fWinUser[nick]["fWin"] && !fWinUser[nick]["fWin"].closed && !!fWinUser[nick]["fWin"].name){
var newTbl=fWinUser[nick]["fWin"].document.createElement("table");
var newTbody=fWinUser[nick]["fWin"].document.createElement("tbody");
var newTr=fWinUser[nick]["fWin"].document.createElement("tr");
var newTd=fWinUser[nick]["fWin"].document.createElement("td");
newTd.setAttribute("id", "td"+i);
newTr.appendChild(newTd);
newTbody.appendChild(newTr);
newTbl.appendChild(newTbody);
fWinUser[nick].fWin.document.getElementById("fluesterStream").appendChild(newTbl);
fWinUser[nick].fWin.document.getElementById("td"+i).innerHTML=fWinUser[nick].messages[fWinUser[nick].messages.length-1];
if(!fWinUser[nick].showInStream){
docTds.parentNode.parentNode.parentNode.style.display="none";
}
}
}
}
else if(!!(docTds.innerHTML.match(/Du fl.sterst an /i))){
/Du fl.sterst an (\w+)<.span>/i.exec(docTds.innerHTML);
nick = RegExp.$1;
//alert("du an "+nick);
if(!!fWinUser[nick]){
fWinUser[nick].messages[fWinUser[nick].messages.length]=docTds.innerHTML.replace("Du flüsterst an "+nick, myNick);
fWinUser[nick].lineNr.push(i);
if(!!fWinUser[nick]["fWin"] && !fWinUser[nick]["fWin"].closed && !!fWinUser[nick]["fWin"].name){
var newTbl=fWinUser[nick]["fWin"].document.createElement("table");
var newTbody=fWinUser[nick]["fWin"].document.createElement("tbody");
var newTr=fWinUser[nick]["fWin"].document.createElement("tr");
var newTd=fWinUser[nick]["fWin"].document.createElement("td");
newTd.setAttribute("id", "td"+i);
newTr.appendChild(newTd);
newTbody.appendChild(newTr);
newTbl.appendChild(newTbody);
fWinUser[nick].fWin.document.getElementById("fluesterStream").appendChild(newTbl);
fWinUser[nick].fWin.document.getElementById("td"+i).innerHTML=fWinUser[nick].messages[fWinUser[nick].messages.length-1];
if(!fWinUser[nick].showInStream){
docTds.parentNode.parentNode.parentNode.style.display="none";
}
}
}
}
}
fWinLineNr=i;
}
window.setInterval("fWinStream()", 500);
function fWinShowHide(show, nick){
fWinUser[nick].showInStream = show;
for(i=0; i<fWinUser[nick].lineNr.length; i++){
docTds[fWinUser[nick].lineNr].parentNode.parentNode.parentNode.style.display=show?(document.all?"block":"table-cell"):"none";
}
}
function starteFWin(nick){
if(!fWinUser[nick]){
fWinUser[nick]={"messages":[], "fWin":{}, "lineNr":[], "showInStream":false};
var a;
for(i=0;i<docTds.length;i++){
a=lineData(docTds[i]);
if(!!a && a[0]==2 && a[2]==nick && docTds[i].innerHTML.match(/ fl.stert<.span>:/i)){
fWinUser[nick].messages.push(docTds[i].innerHTML.replace(/ fl.stert/, ""));
fWinUser[nick].lineNr.push(i);
}
else if( docTds[i].innerHTML.match("Du flüsterst an "+nick+"</")){
fWinUser[nick].messages.push(docTds[i].innerHTML.replace("Du flüsterst an "+nick, myNick));
fWinUser[nick].lineNr.push(i);
}
}
}
if(!!fWinUser[nick]["fWin"] && !fWinUser[nick]["fWin"].closed && !!fWinUser[nick]["fWin"].name){
fWinUser[nick]["fWin"].close();
}
fWinUser[nick]["fWin"] = window.open("about:blank", "fWin"+nick, "width=300,height=300,scrollbars=yes,resizable=yes");
fWinUser[nick]["fWin"].document.write("<html><head><title>Fl&uuml;sterfenster mit "+nick+"</title>"+
"<link rel='stylesheet' type='text/css' href='http://server"+chatData[0]+".webkicks.de/"+chatData[1]+"/style_stream.css'><script language='javascript'>window.setInterval('window.scrollBy(0,50)',100)</script></head><body><table style='width:100%;height:100%'><tbody>"+
"<tr style='height:100%'><td style='overflow:scroll; vertical-align:top;' id='fluesterStream'>"+
"<table><tbody><tr><td>"+fWinUser[nick].messages.join("</td></tr></tbody></table><table><tbody><tr><td>")+"</td></tr></tbody></table>"+
"</td></tr><tr><td>"+
"<form name='fForm' onsubmit='opener.sendeText(\"/f "+nick+" \"+this.fMessage.value); this.fMessage.value=\"\"; return false;'>"+
"im Stream anzeigen?<input type='checkbox' name='showHide' onclick='opener.fWinShowHide(this.checked, \""+nick+"\")'><br><input name='fMessage' class='input'><input type='submit' class='submit' value='senden'></form></td></tr>"+
"</tbody></table></body></html>");
}


Chatbefehl (z.B. /fwin)
Script:Zeigen
<script language="javascript">if(parent.info){if(myNick==strip_tags('%me%')){starteFWin(strip_tags('%user%'))} document.getElementsByTagName("table")[document.getElementsByTagName("table").length-1].style.display = "none";}else{document.write(" öffnet ein Flüsterfenster.")}</script>

Wenn ihr stattdessen folgenden Chatbefehl anlegt wird beim jeweils anderen User (der quasi eingeladene) ein Link angezeigt. Wenn dieser darauf klickt öffnet sich auch bei ihm das Flüsterfenster:
Script:Zeigen
<script language="javascript">f=" öffnet ein Flüsterfenster";if(parent.info){t=document.getElementsByTagName("table");s=strip_tags;i=myNick;m=s('%me%');u=s('%user%');if(i==m)starteFWin(u);if(i==u)document.write(f+" <a href='javascript:starteFWin(\""+m+"\");'>auch starten</a>");else t[t.length-1].style.display="none"}else{document.write(f)}</script>

Leider funktionieren beide Befehle nicht mit Google Chrome.
Geht das noch zu ändern?

Re: Flüstern mit Popup-Fenster

Verfasst: 24.09.2011, 13:42
von Movert
Ich habe den js. DAtei in meinen Chat eingefügt. Nun möchte ich dass der Skript funktioniert. Ich muss also irgendwie den Befehl haben. welcher ist das? und gibt es die möglichkeit, das ganze so einzubauen, dass wenn ich in der Onlineliste auf einen Namen klicke, ein LInk erscheint, auf den ich klicken kann, und dan startet der Flüster Pop up automatisch? wenn ich dann wieder auf den nAmen der peron klicke verschwindet er wieder?

Mfg. Movert

Re: Flüstern mit Popup-Fenster

Verfasst: 24.09.2011, 14:24
von Mogli
hamigra hat geschrieben:Leider funktionieren beide Befehle nicht mit Google Chrome.
Geht das noch zu ändern?
Hallo Hamigra,

in meinem Chat funktionieren beide Befehle unter Iron und der ist ja mit Chrome identisch!


@Movert: Lies dir bitte die Anleitung und den kompletten Thread durch. Da steht alles bechrieben, wie du es haben möchtest!

Schöne Grüße
Mogli

Re: Flüstern mit Popup-Fenster

Verfasst: 24.09.2011, 14:29
von Movert
Nein. was dort oben steht Hilft mir eben nicht.

Re: Flüstern mit Popup-Fenster

Verfasst: 24.09.2011, 14:43
von Mogli
Movert hat geschrieben:Nein. was dort oben steht Hilft mir eben nicht.
Nicht hier oben, sondern in diesem Thread !

Re: Flüstern mit Popup-Fenster

Verfasst: 24.09.2011, 14:49
von Movert
achso, danke

ICh schaffe das immernoch nicht. so ein blöder Skript. wieso kann den nicht mal jemand für den WKTools Skriptmanager machen?

Re: Flüstern mit Popup-Fenster

Verfasst: 10.12.2011, 22:05
von lieblich
Hallo,

Das steht bei mir in der Ankündigung:

"+ ""+ "
"+ "
"+fWinUser[nick].messages.join("
")+"
"+ "
"+ "
"+ "im Stream anzeigen?
"); }

Dann wenn ich was eingebe und auf sende klicke kommt reconnect und wenn der andere nutzer auf Chat starten klickt kommt nichts.
Habe das hier eingefügt:
Script:Zeigen
var fWinLineNr=0;
var fWinUser={};
var docTds = document.getElementsByTagName("td");
function fWinStream(){
for(i=fWinLineNr;i<docTds.length;i++){
a=lineData(docTds)
if(!!a && a[0]==2 && !!(docTds.innerHTML.match(/ fl.stert<.span>:/i))){
/(\w+) fl.stert<.span>/i.exec(docTds.innerHTML);
nick = RegExp.$1;
//alert(nick+" an dich");
if(!!fWinUser[nick]){
fWinUser[nick].messages[fWinUser[nick].messages.length] = docTds.innerHTML.replace(/ flüstert/, "");
fWinUser[nick].lineNr.push(i);
if(!!fWinUser[nick]["fWin"] && !fWinUser[nick]["fWin"].closed && !!fWinUser[nick]["fWin"].name){
var newTbl=fWinUser[nick]["fWin"].document.createElement("table");
var newTbody=fWinUser[nick]["fWin"].document.createElement("tbody");
var newTr=fWinUser[nick]["fWin"].document.createElement("tr");
var newTd=fWinUser[nick]["fWin"].document.createElement("td");
newTd.setAttribute("id", "td"+i);
newTr.appendChild(newTd);
newTbody.appendChild(newTr);
newTbl.appendChild(newTbody);
fWinUser[nick].fWin.document.getElementById("fluesterStream").appendChild(newTbl);
fWinUser[nick].fWin.document.getElementById("td"+i).innerHTML=fWinUser[nick].messages[fWinUser[nick].messages.length-1];
if(!fWinUser[nick].showInStream){
docTds.parentNode.parentNode.parentNode.style.display="none";
}
}
}
}
else if(!!(docTds.innerHTML.match(/Du fl.sterst an /i))){
/Du fl.sterst an (\w+)<.span>/i.exec(docTds.innerHTML);
nick = RegExp.$1;
//alert("du an "+nick);
if(!!fWinUser[nick]){
fWinUser[nick].messages[fWinUser[nick].messages.length]=docTds.innerHTML.replace("Du flüsterst an "+nick, myNick);
fWinUser[nick].lineNr.push(i);
if(!!fWinUser[nick]["fWin"] && !fWinUser[nick]["fWin"].closed && !!fWinUser[nick]["fWin"].name){
var newTbl=fWinUser[nick]["fWin"].document.createElement("table");
var newTbody=fWinUser[nick]["fWin"].document.createElement("tbody");
var newTr=fWinUser[nick]["fWin"].document.createElement("tr");
var newTd=fWinUser[nick]["fWin"].document.createElement("td");
newTd.setAttribute("id", "td"+i);
newTr.appendChild(newTd);
newTbody.appendChild(newTr);
newTbl.appendChild(newTbody);
fWinUser[nick].fWin.document.getElementById("fluesterStream").appendChild(newTbl);
fWinUser[nick].fWin.document.getElementById("td"+i).innerHTML=fWinUser[nick].messages[fWinUser[nick].messages.length-1];
if(!fWinUser[nick].showInStream){
docTds.parentNode.parentNode.parentNode.style.display="none";
}
}
}
}
}
fWinLineNr=i;
}
window.setInterval("fWinStream()", 500);
function fWinShowHide(show, nick){
fWinUser[nick].showInStream = show;
for(i=0; i<fWinUser[nick].lineNr.length; i++){
docTds[fWinUser[nick].lineNr].parentNode.parentNode.parentNode.style.display=show?(document.all?"block":"table-cell"):"none";
}
}
function starteFWin(nick){
if(!fWinUser[nick]){
fWinUser[nick]={"messages":[], "fWin":{}, "lineNr":[], "showInStream":false};
var a;
for(i=0;i<docTds.length;i++){
a=lineData(docTds[i]);
if(!!a && a[0]==2 && a[2]==nick && docTds[i].innerHTML.match(/ fl.stert<.span>:/i)){
fWinUser[nick].messages.push(docTds[i].innerHTML.replace(/ fl.stert/, ""));
fWinUser[nick].lineNr.push(i);
}
else if( docTds[i].innerHTML.match("Du flüsterst an "+nick+"</")){
fWinUser[nick].messages.push(docTds[i].innerHTML.replace("Du flüsterst an "+nick, myNick));
fWinUser[nick].lineNr.push(i);
}
}
}
if(!!fWinUser[nick]["fWin"] && !fWinUser[nick]["fWin"].closed && !!fWinUser[nick]["fWin"].name){
fWinUser[nick]["fWin"].close();
}
fWinUser[nick]["fWin"] = window.open("about:blank", "fWin"+nick, "width=300,height=300,scrollbars=yes,resizable=yes");
fWinUser[nick]["fWin"].document.write("<html><head><title>Fl&uuml;sterfenster mit "+nick+"</title>"+
"<link rel='stylesheet' type='text/css' href='http://server"+chatData[0]+".webkicks.de/"+chatData[1]+"/style_stream.css'><script language='javascript'>window.setInterval('window.scrollBy(0,50)',100)</script></head><body><table style='width:100%;height:100%'><tbody>"+
"<tr style='height:100%'><td style='overflow:scroll; vertical-align:top;' id='fluesterStream'>"+
"<table><tbody><tr><td>"+fWinUser[nick].messages.join("</td></tr></tbody></table><table><tbody><tr><td>")+"</td></tr></tbody></table>"+
"</td></tr><tr><td>"+
"<form name='fForm' onsubmit='opener.sendeText(\"/f "+nick+" \"+this.fMessage.value); this.fMessage.value=\"\"; return false;'>"+
"im Stream anzeigen?<input type='checkbox' name='showHide' onclick='opener.fWinShowHide(this.checked, \""+nick+"\")'><br><input name='fMessage' class='input'><input type='submit' class='submit' value='senden'></form></td></tr>"+
"</tbody></table></body></html>");
}

Re: Flüstern mit Popup-Fenster

Verfasst: 11.12.2011, 08:41
von hamigra
Wo steht denn etwas davon, daß du das Script in die Ankündigung einfügen sollst?
hamigra hat geschrieben:... Die js-Datei: ...

Re: Flüstern mit Popup-Fenster

Verfasst: 22.02.2012, 18:11
von lieblich
Hallo,

habe es ja bei wktools.net eingefügt, trotzdem kommt dies...
Kann mir jemand helfen?

Edit: klappt zwar, aber der Nick im Chat-fenster ist gelb und die Nachricht "im Stream anzeigen?" ist auch gelb. Der Hintergrund ist nicht wie im chat, sondern nur weiß.. Im Chat ist er blau. Lässt sich das ändern?

Re: Flüstern mit Popup-Fenster

Verfasst: 03.03.2012, 20:22
von FlorensiaFans
gibt es schon eine Lösung für Chrome?

Re: Flüstern mit Popup-Fenster

Verfasst: 04.03.2012, 09:26
von Lkwmonster
Hallo,
bei mir ebenso wie bei Lieblich, das Script hab ich auf wktools hochgeladen.
MfG Lkwmonster

Re: Flüstern mit Popup-Fenster

Verfasst: 04.03.2012, 09:30
von lieblich
1. FC Keller hat geschrieben:Im Script kommt ein </script> vor... das verursacht dieses Problem.
Ersetze es durch </scr"+"ipt>
Das müsste dein Problem lösen ;)

Re: Flüstern mit Popup-Fenster

Verfasst: 04.03.2012, 09:47
von Lkwmonster
habs jetzt geändert, funktioniert aber immer noch nicht, weiter am Ende hab ich das </script> ind </scr"+"ipt>

Re: Flüstern mit Popup-Fenster

Verfasst: 04.03.2012, 09:50
von lieblich
Was ist denn genau dein Problem? Was ist im Chat-Stream zu sehen?

Re: Flüstern mit Popup-Fenster

Verfasst: 04.03.2012, 09:52
von Lkwmonster
"+ ""+ "
"+ "
"+fWinUser[nick].messages.join("
")+"
"+ "
"+ "
"+ "im Stream anzeigen?


"); }

nach im Stream anzeigen? ist noch ein kästchen zum auswählen, und darumter ist ein kasten zum reinschreiben und ein senden button, aber wenn man auf senden klickt dann reconnectet man