Yshout Chat

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • ik ben gestopt met het yshout verhaal.
      Ben nu bezig met een eigen chat + javascript maar loop met 1 ding vast:

      als ik het volgende gebruik:

      Source Code

      1. $(document).ready(function()
      2. {
      3. $.get('chat_getmessages.php', function (data)
      4. {
      5. $('#chat_container').html(data);
      6. });
      7. });
      Display All

      Dan werkt de fancybox url wel ( is een tabel met data, en een report fancybox popup voor het melden van een bericht )
      De data staat in een while loop.

      maar ik merk dat dit in samenspraak met het refreshen in ajax mijn layout beetje naar de knoppen helpt.
      Nu had ik een andere functie gevonden:


      Source Code

      1. function loadXMLDoc()
      2. {
      3. var xhttp = new XMLHttpRequest();
      4. xhttp.onreadystatechange = function() {
      5. if (this.readyState == 4 && this.status == 200)
      6. {
      7. document.getElementById("chat_container").innerHTML =
      8. this.response;
      9. }
      10. };
      11. xhttp.open("GET", "chat_getmessages.php", true);
      12. xhttp.send();
      13. }
      14. setInterval(function(){
      15. loadXMLDoc();
      16. /* 1000 = 1 seconde */
      17. },1000);
      18. window.onload = loadXMLDoc;
      Display All


      Dit werkt perfect, echter als je dan op het linkje klikt voor te melden, dan opent de fancybox niet maar opent die het rechtstreekse php bestand ipv de popup. waar kan dit aan liggen.
    • zwpgangster wrote:

      Dit werkt perfect, echter als je dan op het linkje klikt voor te melden, dan opent de fancybox niet maar opent die het rechtstreekse php bestand ipv de popup. waar kan dit aan liggen.
      Die url waarop geklikt word is op 1 of andere manier niet correct gelinkt in je javascript, indien het een url met php extensie betreft dan is het doorverwijzen naar de betrefende PHP pagina het juiste standaard effect. Je zal die meld link klik moeten doorspelen naar je fancybox. Na al je JS code in je functie die de klik opvangt kan je na event mee te spelen een laatste regel `event.preventDefault();` toevoegen. (Wel nog voor je eerste return statement) Dit zou indien correct gelinkt de standaard PHP pagina doorverwijzing moeten de-activeren.

      Source Code

      1. document.querySelector('#someId').addEventListener('click', function(event){ //klik
      2. // Evt. extra .each() vereist indien meerdere meldknoppen
      3. // ..querySelectorAll('.someClass').each().addEventListener..
      4. //speel url mee naar fancybox?...
      5. event.preventDefault();
      6. });
      Een andere simpelere maar misschien niet zo nette manier kan de <a> href tag vewrijderen / vervangen door javascript:void(0); zijn. Misschien er helemaal geen <a> element van te maken?

      The post was edited 6 times, last by MiCa- ().