Sammeltopic für kurze Codingfragen

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • BC+ 1 oder 2? Im 1er musst du dafür 'n Silent Message Prefilter registrieren, im 2er gibt es nur noch verschiedene, über das eigene Event-System ansprechbare Events. Um genau zu sein wären das messageBeforeNodeSetup, messageAfterNodeSetup und messageAfterNodeAppending.
    Außerdem wird deine onload-Methode nie aufgerufen. Musst schon aus der init-Methode herraus deine Funktion aufrufen.

  • So, hab es hinbekommen.


    BC+ 1 oder 2?


    BC+ 1.5.1


    im 2er gibt es nur noch verschiedene, über das eigene Event-System ansprechbare Events. Um genau zu sein wären das messageBeforeNodeSetup, messageAfterNodeSetup und messageAfterNodeAppending.


    Könnte ich mit diesen Events dann auch zwei Nachrichten hintereinander verschicken (gleichzeitig)?
    Bzw. wie mache ich das, dass


    JavaScript
    this.postMessage('Hallo Welt');


    zweimal hintereinander gepostet wird?

  • Die verschiedenen Events sind dazu gedacht, dann auf die Nachricht zuzugreifen, wenn es sinn macht. Manche Funktionen brauchen explizit die DOMNodes, andere wiederum nicht. Deswegen hab ich dort mehrere Events eingefügt.
    Was mehrere Messages zum selebn Zeitpunkt betrifft: Das war schon immer Problematisch, da das einfach zu viele Request in zu kleinem zeitraum auslöst.

  • Ok, noch zwei Fragen:


    1) Das callerObj bezieht sich doch auf den User, der das Script gerade ausführt oder? Wenn ja, wie komme ich an den Benutzername von callerObj?
    2)

    JavaScript
    this.callerObj.registerSilentMessagePrefilter(function(event, nickname, message, messageType) {


    Auf welchen Benutzer bezieht sich der Parameter nickname? Auf den, der das Script gerade ausführt (in dem Fall ich selbst) oder der, der die Message sendet?

  • Wie aus der Basis-Klasse hervor geht, ist callerObj eine Referenz auf das Objekt, welches das Modul initliaisiert, in diesem Fall also auf die Instanz von BisaChatPlus. Der Benutzername steht dort nirgends, da dieser schon im unsafeWindow-Kontext verfügbar ist. Über den Wrapper is dieser verfügbar in »API.w.settings.username«.
    Sinn macht bei den Prefilters nur letzteres. Wieso sollte man einer Funktion bei jedem Aufruf den selben Wert für einen Parameter übergeben. Was die Prefilter für Parameter akzeptieren sollten steh übrigens im JSDoc. Da würdest du auch erkennen, dass ein Prefilter noch einen Parameter mehr verarbeiten können sollte, nämlich als letztes ownMessage, welcher anzeigt, ob die Nachricht vom aktuellen Benutzer selbst verfasst wurde.

  • Danke, hab mein erstes Modul fast fertig. Noch paar Fragen:


    1) Wie verwende ich den Smiley Parser? Würde gerne Smileys in pushMessage() geparsed haben.
    2) Kann ich statt Nachrichten auch Meldungen ausgeben (sodass die Nachricht kursiv dargestellt wird und der Doppelpunkt davor entfernt wird)?
    Ausgabe soll dann etwa so aussehen: AlphaVoice hat den Chat betreten.
    erledigt, geht mit /me

  • Ich möchte meinem Login-Script eine "Dauerhaft angemeldet"-Funktion hinzufügen.
    Dabei habe ich mich von den Cookies her am WBB / WCF orientiert. Dieses speichert folgende Cookies:

    Code
    pre_boardLastActivityTime
    pre_boardLastVisitTime
    pre_cookieHash
    pre_password
    pre_userID

    Mit 'pre' ist das Präfix gemeint


    Ich möchte von der Funktionsweise her das WCF nicht kopieren, sondern es nur als Anregung verwenden. Natürlich möchte ich auch, dass das Verwenden von Cookies sicher ist.
    Daher möchte ich wissen, wie das Grundprinzip mit den oben genannten Cookies funktioniert und was der Inhalt genau ist, denn z.B. bei 'pre_cookieHash' weiß ich nicht, wofür genau das genutzt wird.

  • Jup, mal ne Frage zu ner HTML-Sache.
    Weder Google noch Facebook lassen sich in einem iframe anzeigen. Verhindern die beiden Seiten das irgendwie oder hab ich irgendeinen Fehler gemacht? Denn mit anderen Seiten funktioniert es idR..
    (Wie) Kann ich die Seiten in nem iframe anzeigen ?
    Hoffe auf Hilfe :))

  • Ich kann dir zwar keine konkrete Antwort auf deine Frage geben, aber du solltest wissen, dass iFrames veraltet sind und nicht mehr zum aktuellen Standard gehören.
    Wozu willst du die Seiten denn einbinden? Google und Facebook bieten bereits Schnittstellen (APIs) um mit anderen Websites kommunizieren zu können, die könntest du dir eventuell mal anschauen.

  • Ich habe von sowas eben keine Ahnung, aber ich hatte vor, mir eine einfache Startseite für meinen Browser zu kreieren, auf dem dann die wichtigsten Seiten sofort geladen sind.
    Iframes erschienen mir eben am simpelsten.. Danke aber :)

  • Ich hab ein kleines aber nerviges Problemchen.
    Will sich ein User auf meiner Seite einloggen, ist die Schreibweise seines Loginnames total egal. Sprich er kann sich mit User einloggen oder mit user oder uSer etc.
    Das will ich verhindern, in dem ich meine Datenbank von case insensitive auf case sensitive umstelle, gesagt getan, doch geändert hat sich nichts.. (von utf8_general_ci auf utf8_bin, wobei letzteres cs ist)
    Im einlogscript selber (ist unnötig hier das zu posten, weils eben nur den Usernamen aus der DB holt und die Passwörter vergleicht.) ist nichts mit cases gedingselt worden. Es liegt also rein an meiner Datenbank. Da aber die Kollation jetzt cs ist, müsste doch alles funtionieren, oder überseh ich was D:

  • Es gibt 2 Abfragen die noch drauf abzielen also WHERE name = DeinEingeloggtername -> dummerweise ist die Abfrage cs, obwohl genau NICHT so eingestellt xD, und wenn man sich jetzt falsch bzw. uSer z.B. einloggt, gibt die Abfrage 0 rows zurück, wobei sie eben min 1 zurückgeben sollte.
    (Auch hier versteh ich wiederrum nicht, wieso er das wieder CS ausführt, wo doch die Tabellenkollation ci ist. bah
    Jedenfalls hab ichs anderst gelöst: Loggt sich der User ein, wird nicht sein einloggname in die Session gepackt (fail) sondern das was in der Datenbank steht (damit User und nicht uSer).
    Das mit dem Hash wär aber auch ne gute Idee danke ^^, vorallem gäbs dann wahrscheinlich keinen Eintrag in der Rainbow :D ( i use md5 )

  • Ja, ich bin auch mal wieder da xD!
    Ich hab ein paar Fragen.
    1. Wie kann ich am besten ne Lightbox progen, der mir Bilder und Videos anzeigt und drunter noch Kommentare?
    2.Ich glaub das geht gar nicht, ich frags trtzdem mal, kann man seinen HTML-Quellcode irgendwie verstecken?
    3.Wenn ich Bilder per Upload-PHP-Script hochlade, kann ich irgendwie 2 Bilder mit dem selben Bild erstellen und das eine auf 150x150 Thumbnail schrumpfen?


    mfG,
    NowNewStart