Ankündigung

Einklappen
Keine Ankündigung bisher.

Event abfangen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Event abfangen

    Hallo,

    ich schreibe gerade einen Chat und ich kenne es von mir selber... Wenn man ausm chat geht drückt man nicht unberdingt immer auf logout... Nun möcht ich wissen ob man irgendwie das event abfangen kann, wenn man aufs x klickt also das browserfenster oder registerkarte schließt...ist das möglich? sodass ich vorher nochmal kurz eine js funktion aufrufen kann die den user ausloggt...

    Wäre sehr dankbar für Ansätze.

    Ambience
    Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

  • #2
    onunload ist, was du suchst!

    SELFHTML: JavaScript / Sprachelemente / Event-Handler

    Kommentar


    • #3
      Vielen Dank... das perfekt...

      evtl. kann ich diese frage gleich hinhängen.. ich wollte das man seine schriftfarbe ändern kann... nun soweit funktioniert es, aber: .....style.color; ergibt immer rgb(irgendwas, irgendwas, irgendwas).... ich hätte es gerne in diesem format: #zahlzahlzahlzahlzahl... muss ich da die farbe anders abfragen oder gibts eine js funktion um dieses umzuwandeln?

      Danke nochmals
      Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

      Kommentar


      • #4
        Das ist normal, dass der Browser das in der rgb()-Schreibweise speichert!
        Hab mal schnell folgende Funktion geschrieben, was dir die Hex-Form (#) zurückgeben sollte:

        Code:
        function rgb2hex(str) {
            // find all decimal color strings
            var matcher = str.match(/rgb\([0-9 ]+,[0-9 ]+,[0-9 ]+\)/gi);
            if(matcher) {
                for(var j=0; j < matcher.length; j++) {
                    var regex = eval("/" + str2regex(matcher[j]) + "/gi");
                    // replace the decimal color strings with hex color strings
                    str = str.replace(regex, "#" + toHexColor(matcher[j]));
                }
            }
            return str;
        }
        
        function str2regex(string) {
            string = string.replace(/\//gi, "\\/");
            string = string.replace(/\(/gi, "\\(");
            string = string.replace(/\)/gi, "\\)");
            string = string.replace(/\[/gi, "\\[");
            string = string.replace(/\]/gi, "\\]");
            string = string.replace(/\+/gi, "\\+");
            string = string.replace(/\$/gi, "\\$");
            string = string.replace(/\*/gi, "\\*");
            string = string.replace(/\?/gi, "\\?");
            string = string.replace(/\^/gi, "\\^");
            string = string.replace(/\\b/gi, "\\\\b");
            string = string.replace(/\\B/gi, "\\\\B");
            string = string.replace(/\\d/gi, "\\\\d");
            string = string.replace(/\\B/gi, "\\\\B");
            string = string.replace(/\\D/gi, "\\\\D");
            string = string.replace(/\\f/gi, "\\\\f");
            string = string.replace(/\\n/gi, "\\\\n");
            string = string.replace(/\\r/gi, "\\\\r");
            string = string.replace(/\\t/gi, "\\\\t");
            string = string.replace(/\\v/gi, "\\\\v");
            string = string.replace(/\\s/gi, "\\\\s");
            string = string.replace(/\\S/gi, "\\\\S");
            string = string.replace(/\\w/gi, "\\\\w");
            string = string.replace(/\\W/gi, "\\\\W");
                
            return string;            
        }
        
        function toHexColor(color) {
            color = color.replace(/^rgb/g,'');
            color = color.replace(/\(/g,'');
            color = color.replace(/\)/g,'');
            color = color.replace(/ /g,'');
            color = color.split(',');
            var r = parseFloat(color[0]).toString(16).toUpperCase();
            var g = parseFloat(color[1]).toString(16).toUpperCase();
            var b = parseFloat(color[2]).toString(16).toUpperCase();
            if (r.length<2) { r='0'+r; }
            if (g.length<2) { g='0'+g; }
            if (b.length<2) { b='0'+b; }
            return r + g + b;
        }
        Hoffe das es funktioniert, habs nicht wirklich getestet ^^

        Kommentar


        • #5
          Hallo,

          Vielen lieben Dank, funktioniert primasten^^.

          Ambience
          Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

          Kommentar

          Lädt...
          X