Ankündigung

Einklappen
Keine Ankündigung bisher.

Javascript-Problem (Chatzillaplugin)

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

  • Javascript-Problem (Chatzillaplugin)

    Hi,
    ich sitze grade an einem Plugin für Chatzilla:
    In Chatzilla gibt es keinen /amsg-Command, der die Nachricht an alle geöffneten Channels schickt. Nach einigen Suchen fand ich einen /ame-Command, der den /me-Command in allen geöffneten Channels ausführt.
    Wie kriege ich nun aus dem /ame ein /amsg hin?

    Code:
    // all channel /me
    function tcmd_amsg (e) { 
      for (netname in client.networks) {
        network = client.networks[netname];
        if (network.isConnected()) {
          for (channelname in network.primServ.channels) {
    	if (network.primServ.channels[channelname].active) {
    	  network.primServ.channels[channelname].act(e.message);
    	  network.primServ.channels[channelname].displayhere(e.message, "ACTION", "ME!");
    
    	}
          }
        }
      }
    }

    Originalplugin
    68 61 62 61 64 61 2d 68 61 62 61 64 61


  • #2
    Niemand da der mir bei Javascript und Chatzilla helfen kann?
    68 61 62 61 64 61 2d 68 61 62 61 64 61

    Kommentar


    • #3
      Ich dachte eigentlich das wäre in den neueren Versionen jetzt mal enthallten, aber nix wars. Aber nach einer Suche bei habe ich folgende Seite gefunden: Firefox Marco’s accessibility blog

      Da gibt es einen JS-Code für die /amsg Erweiterung, nur sieht der völlig anders aus wie das was Du hier gepostet hast. Ist ja auch nicht schlimm.

      Code:
      <script type="application/javascript">
      
        function removeOldAlert()
        {
          var oldAlert = document.getElementById("alert");
          if (oldAlert)
            document.body.removeChild(oldAlert);
        }
      
        function addAlert(aMsg)
        {
          removeOldAlert();
          var newAlert = document.createElement("div");
          newAlert.setAttribute("role", "alert");
          newAlert.setAttribute("id", "alert");
          var msg = document.createTextNode(aMsg);
          newAlert.appendChild(msg);
          document.body.appendChild(newAlert);
        }
      
        function checkValidity(aID, aSearchTerm, aMsg)
        {
          var elem = document.getElementById(aID);
          var invalid = (elem.value.indexOf(aSearchTerm) < 0);
          if (invalid) {
            elem.setAttribute("aria-invalid", "true");
            addAlert(aMsg);
          } else {
            elem.setAttribute("aria-invalid", "false");
            removeOldAlert();
          }
        }
      
      </script>
      Schau mal ob es das ist was Du suchst.
      A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP
      Last Tweet of Leonard Nimoy

      Kommentar


      • #4
        Zitat von Sarah Plume Beitrag anzeigen
        Ich dachte eigentlich das wäre in den neueren Versionen jetzt mal enthallten, aber nix wars. Aber nach einer Suche bei habe ich folgende Seite gefunden: Firefox Marco’s accessibility blog

        Da gibt es einen JS-Code für die /amsg Erweiterung, nur sieht der völlig anders aus wie das was Du hier gepostet hast. Ist ja auch nicht schlimm.

        Code:
        <script type="application/javascript">
        
          function removeOldAlert()
          {
            var oldAlert = document.getElementById("alert");
            if (oldAlert)
              document.body.removeChild(oldAlert);
          }
        
          function addAlert(aMsg)
          {
            removeOldAlert();
            var newAlert = document.createElement("div");
            newAlert.setAttribute("role", "alert");
            newAlert.setAttribute("id", "alert");
            var msg = document.createTextNode(aMsg);
            newAlert.appendChild(msg);
            document.body.appendChild(newAlert);
          }
        
          function checkValidity(aID, aSearchTerm, aMsg)
          {
            var elem = document.getElementById(aID);
            var invalid = (elem.value.indexOf(aSearchTerm) < 0);
            if (invalid) {
              elem.setAttribute("aria-invalid", "true");
              addAlert(aMsg);
            } else {
              elem.setAttribute("aria-invalid", "false");
              removeOldAlert();
            }
          }
        
        </script>
        Schau mal ob es das ist was Du suchst.
        Danke , allerdings ist dieser Code für Homepages gedacht, er überprüft, ob Emailadressen korrekt sind, d.h. ob sie ein @ und kein Leerzeichen enthalten. Und das aMsg ist im Sinne von alert-Message gemeint.
        Der Code, den ich postete geht in einer Schleifer alle verbundenen Netzwerke und dann die Channels durch und vollführt dort den /me Befehl, allerdings will ich den /msg-Befehl stattdessen haben und ich hab keine Ahnung wie das funktioniert.
        68 61 62 61 64 61 2d 68 61 62 61 64 61

        Kommentar

        Lädt...
        X