2016-07-25 28 views
0

Nachdem ich mich lange umgesehen habe, habe ich mich entschieden, dich direkt zu fragen. Ich suche nach einer Möglichkeit zu erkennen, ob der "Send to Messenger" Button geladen ist oder nicht. Wir testen gerade unseren neuen Messenger-Bot und hätten gerne die Möglichkeit, den Button auf unserer Seite zu zeigen, wenn eine Person ein Tester ist und ansonsten einen Button zum "Testen unserer Beta" anzeigt, der auf ein Formular verweist.Erkennen, ob "send to messenger" Button geladen ist (Facebook Messenger)

Die Schaltfläche wird nur geladen, wenn ein Benutzer ein Administrator oder Tester der App ist. Ich habe es versucht mit Trim und Länge in Javascript. Das Skript lädt jedoch tatsächlich Inhalt in das div.

Hier ist, wie der Code sieht statisch:

<div class="fb-send-to-messenger" 
    messenger_app_id="APP_ID" 
    page_id="PAGE_ID" 
    data-ref="PASS_THROUGH_PARAM" 
    color="blue" 
    size="standard"> 
</div> 

Und in inkognito lädt es einen Iframe mit einem leeren html doc innen.

Was mich nervt ist, dass das div tatsächlich einen fb-xfbml-state = "gerendert" Zustand hat, auch wenn es nicht geladen ist.

Gibt es eine andere Möglichkeit, dies zu tun? Ich habe in den Facebook-Dokumenten nach einer Möglichkeit gesucht, außerhalb dieses Skripts zu ermitteln, ob ein Benutzer eine aktive Sitzung hat oder nicht, aber nichts gefunden hat.

+0

Wenn Sie einen angemeldeten Benutzer haben, können Sie überprüfen, ob sie eine Rolle in Ihrer App haben ... – CBroe

Antwort

0

Hier ist ein wenig Arbeit um Ich fand heraus, während diesen Beitrag zu schreiben, die einige von Ihnen helfen könnten:

$(window).bind('load', function() { 
    if ($('.fb-send-to-messenger').find("iframe").height() > 50) { 
    alert("button loaded"); 
    } 
}); 

justieren Sie einfach den Höhenwert auf der Höhe der Taste, die Sie wählen.

Würde noch andere Winkel zu diesem Thema wirklich schätzen. Vorzugsweise etwas direkt von den Facebook-Dokumenten.

Vorsicht!