[JavaScript] Facebook / Div Scrollen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Aslan, 11. Mai 2011 .

  1. 11. Mai 2011
    Facebook / Div Scrollen

    Ich hab folgendes Problem mit Javascript:

    Step1:
    http://www.facebook.com/event.php?eid=180807348617901

    (irgendein Veranstaltungslink auf Facebook)...

    Step2:
    Auf "+ Gäste Auswählen" klicken.

    Step3:
    Beim der jetzt neu erschienenen Div möchte ich gerne mithilfe von Javascript runterscrollen bis zum Ende - da sich die Id der Div jedoch immer wieder schaff ich das nicht!

    Frage:
    Ist das möglich?
     
  2. 11. Mai 2011
    AW: Facebook / Div Scrollen

    hab schon gesucht. . . brauch etwas, was ich in die url zeile eingeben kann...
    die div hat keine bestimmte id ... d.h. es ändert sich bei jedem öffnen... d.h. ich muss nach getElementsByClass suchen aber diese Funktion ergibt irgendwie kein positives Resultat!
     
  3. 12. Mai 2011
    AW: Facebook / Div Scrollen

    javascript:var%20objDiv=document.getElementsByClassName("fbProfileBrowserListContainer")class;objDiv.scrollTop=objDiv.scrollHeight;

    und jetzt? Das funktioniert auch nicht...
     
  4. 12. Mai 2011
    AW: Facebook / Div Scrollen

    Bei mir stehen nicht genug Leute in dem Browser, also musst du testen:

    Code:
    javascript:var%20objDiv=document.getElementsByClassName("fbProfileBrowserListContainer")[0];objDiv.scrollTop=objDiv.scrollHeight;
     
  5. 12. Mai 2011
    AW: Facebook / Div Scrollen

    Bei diesem Script kommt dann ne neue Page wo 0 steht... (firefox)

    google chrome: keine funktion - bleibt alles gleich
     
  6. 12. Mai 2011
    AW: Facebook / Div Scrollen

    bringt auch keine funktion.
     
  7. 12. Mai 2011
    AW: Facebook / Div Scrollen

    auch keine funktion!
     
  8. 12. Mai 2011
    AW: Facebook / Div Scrollen

    eine funktion mit sicherheit, aber wohl nicht die gewünschte.
    meine glaskugel hat heute schon feierabend, daher kann ich dir leider keine auskunft geben.

    vielleicht gibst du uns einfach mal einen link zu deiner seite oder kopierst den erzeugten quelltext
    protip: nutze firebug dazu
     
  9. 13. Mai 2011
    AW: Facebook / Div Scrollen

    SyntaxError: missing variable name
     
  10. 13. Mai 2011
    AW: Facebook / Div Scrollen

    dann machst du was falsch. muss die funktion denn über die url aufgerufen werden?

    probier das mal inline:
    Code:
    function getElementsByClassName(cn) {
     // selector-api
     if (typeof document.querySelectorAll == "function")
     return document.querySelectorAll("." + cn.split(" ").join(", ."));
     
     // xpath
     if (typeof document.evaluate == "function") {
     var expr = ".//*";
     
     function iter(c) {
     return (c == "") ? null : "[contains(concat(' ', @class, ' '), ' " + c + " ')]";
     }
     
     if (cn.match(/\s/))
     expr += cn.split(" ").map(iter).join("");
     else
     expr += iter(cn);
     
     var query = document.evaluate(expr, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null),
     res = [];
     
     for (var i = 0, l = query.snapshotLength; i < l; ++i)
     res.push(query.snapshotItem(i));
     
     return res; 
     }
     
     // browser-spezifisch
     if (typeof document.getElementsByClassName == "function")
     return document.getElementsByClassName(cn);
     
     // eigene version
     var list = document.getElementsByTagName("*"),
     expr = new RegExp(cn.split(" ").map(
     function(c) { return c.replace(/[.*+?|()\[\]{}\\]/g, '\\$&'); }).join("|")),
     res = [];
     
     for (var i = 0, l = list.length; i < l; ++i)
     if (list[i].className && list[i].className.match(expr))
     res.push(list[i]);
     
     return res;
    }
    
    var ele = getElementsByClassName("fbProfileBrowserListContainer");
    
    if (ele && ele[0])
     ele[0].scrollTop = ele[0].scrollHeight;
    
    ele = null;
    
    den unteren teil natürlich erst ausführen wenn die seite geladen wurde.
     
  11. 15. Mai 2011
    AW: Facebook / Div Scrollen

    wurde per pn darauf hingewiesen, dass das script als link aufgerufen werden soll. zudem wurde klargestellt, dass das script nur im firefox zum einsatz kommt.

    neue version:
    Code:
    (function(){var e=document.querySelector("div.fbProfileBrowserListContainer");if(e){e.scrollTop=e.scrollHeight;}e=null;})();void(0);
     
  12. 16. Mai 2011
    AW: Facebook / Div Scrollen

    Murdoc, danke für deine schnelle Antwort

    Leider geht dieser Code auch nicht... bin langsam am verzweifeln ...
     
  13. 16. Mai 2011
    AW: Facebook / Div Scrollen

    der code geht ohne probleme bei mir, dann machst du was falsch, sorry...
     
  14. 16. Mai 2011
    AW: Facebook / Div Scrollen

    1. geb ich das so in firefox ein,
    2. hab firefox 4.0.1

    3. firebug gibt "undefinied" aus...
     
  15. 16. Mai 2011
    AW: Facebook / Div Scrollen

    überprüf den klassen-namen des elements.
    ggf. mal nach
    Code:
    if(e){...}
    noch
    Code:
    else{alert("nicht gefunden);}
    anhängen

    firebug gibt "undefined" aus, weil er ausdruck nichts ergibt.
     
  16. 16. Mai 2011
    AW: Facebook / Div Scrollen

    Code:
    (function(){var e=document.querySelector("div.fbProfileBrowserListContainer");if(e){e.scrollTop=e.scrollHeight;}else{alert("nicht gefunden");}e=null;})();void(0);
    solange firebug keine echten fehler meldet (das sind die zeilen in rot ) ist alles i.o
     
  17. 16. Mai 2011
    AW: Facebook / Div Scrollen

    Hmm, also firebug meldet nur "undefinied" aber das Fenster wird nicht runtergescrollt...
     
  18. 16. Mai 2011
    AW: Facebook / Div Scrollen

    folgener code funktioniert nun:

    Code:
    (function() { 
     function scroll() {
     var e = document.querySelectorAll("div.fbProfileBrowserResult")[1],
     h = e.scrollHeight;
     
     function check() {
     e.scrollTop = e.scrollHeight;
     
     setTimeout(function() {
     if (h < e.scrollHeight) {
     h = e.scrollHeight;
     check();
     return;
     }
     
     done();
     }, 1000);
     }
     
     check();
     }
     
     function done() {
     // ist nun komplett runter gescrollt
     alert("fertig");
     }
    
     scroll();
    })();
    
    void(0);
     
  19. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.