Nell'API FB.Canvas ci sono metodi per ottenere il top di scorrimento, offset superiore e l'altezza del cliente (tramite GetPageInfo()), ma ho bisogno di un modo per trovare la posizione più in alto di scorrimento della finestra in modo da poter stabilire se l'area ho bisogno essere visibili al cliente sono in vista Gli utenti saranno tabulati attraverso un modulo ed è più alto della maggior parte degli schermi. Devo assicurarmi che l'elemento del modulo sia visibile.C'è un modo per ottenere la posizione di scorrimento della finestra a Facebook API?
risposta
Sembra che il GetPageInfo(). La struttura, scrollTop e la GetPageInfo(). OffsetTop insieme vi darà la posizione di scorrimento in alto della finestra.
Ecco il codice finale ho usato per scorrere elementi nella vista data la x assoluto/globale e coordinate y.
function scrollElementIntoViewFB(applicationID, elementTop, elementBottom) {
var pageInfo = FB.Canvas.getPageInfo();
// fallback if running local
if (pageInfo.clientHeight==0) {
scrollElementIntoView(applicationID, elementTop, elementBottom);
return;
}
var scrollPosition = pageInfo.scrollTop;
var viewportHeight = pageInfo.clientHeight;
var flashOffsetTop = pageInfo.offsetTop;
var elementAbsoluteTop = elementTop + flashOffsetTop;
var elementAbsoluteBottom = elementBottom + flashOffsetTop;
var visibleBottomPosition = viewportHeight + scrollPosition;
if (scrollPosition>elementAbsoluteTop) {
FB.Canvas.scrollTo(0, elementAbsoluteTop);
}
else if (visibleBottomPosition<elementAbsoluteBottom) {
FB.Canvas.scrollTo(0, elementAbsoluteBottom-viewportHeight);
}
return true;
}
E se per qualche motivo si desidera che l'unica versione HTML (che non funziona se in un iframe all'interno di un altro dominio, come Facebook, ma lavorerà sul proprio sito):
function scrollElementIntoView(applicationID, elementTop, elementBottom) {
var scrollPosition = f_scrollTop();
var viewportHeight = f_clientHeight();
var flashElement = swfobject.getObjectById(applicationID);
var flashOffsetTop = flashElement.offsetTop; // not sure if this is cross browser
var elementAbsoluteTop = elementTop + flashOffsetTop;
var elementAbsoluteBottom = elementBottom + flashOffsetTop;
var visibleBottomPosition = viewportHeight + scrollPosition;
if (scrollPosition>elementAbsoluteTop) {
window.scrollTo(0, elementAbsoluteTop);
}
else if (visibleBottomPosition<elementAbsoluteBottom) {
window.scrollTo(0, elementAbsoluteBottom-viewportHeight);
}
return true;
}
Ricerca on-line per le altre funzioni con il loro nome e troverai il resto del codice.
stesso approccio generale come la risposta in termini di posizionamento Una volta che avete la vostra posizione di scorrimento, ma credo che l'SDK è leggermente cambiata da allora che è stato pubblicato e il GetPageInfo() metodo richiede ora una funzione di callback, in modo da ottenere lo stesso dati iniziali si dovrà iniziare con qualcosa di simile:
FB.Canvas.getPageInfo(function(info){
console.log(info);
//... code for positioning based on fb window
});
http://developers.facebook.com/docs/reference/javascript/FB.Canvas.getPageInfo/
- 1. facebook javascript sdk Finestra di dialogo UI che ripristina la posizione di scorrimento
- 2. Angolare e ottenere la posizione di scorrimento della finestra nel controllore
- 3. Come ottenere la posizione della barra di scorrimento con Javascript?
- 4. jquery - impedisce alla finestra di modificare la posizione di scorrimento mentre antepone gli articoli a un elenco?
- 5. Come la finestra di dialogo modale centrale nella finestra a scorrimento con posizione assoluta?
- 6. API grafico facebook - ottenere messaggi a muro
- 7. Controllo della posizione di scorrimento per il frame principale dell'applicazione Facebook iFrame
- 8. Come ottenere l'ultima posizione della vista di scorrimento, scrollview
- 9. C'è un modo per ottenere l'altezza e la larghezza della barra di scorrimento?
- 10. finestra a scorrimento quando finestra jquery apre
- 11. come ricordare la posizione di scorrimento della pagina
- 12. CListCtrl: come mantenere la posizione di scorrimento?
- 13. Invio della notifica di app Android a Facebook utilizzando la notifica API di Facebook
- 14. evento di scorrimento della finestra jQuery. Per ogni XX pixel a scorrimento
- 15. ListView ottiene la posizione di scorrimento?
- 16. Trova la posizione verticale della barra di scorrimento senza jQuery
- 17. Google maps api v3 posizione a finestra in immagine personalizzata
- 18. Come ottenere una chiave API di Facebook?
- 19. Come posso ottenere la posizione di scorrimento di UITableView così posso salvarla?
- 20. C'è un modo per ripristinare la scala della finestra in modo dinamico a 1,0
- 21. Chrome ricorda la posizione di scorrimento
- 22. Evento di scorrimento della finestra JQuery?
- 23. Come risolvere un overflow di scorrimento della finestra di parallasse?
- 24. Imposta posizione di scorrimento
- 25. ottenere dati di approfondimento della pagina facebook
- 26. UIImageView ottenere la posizione della rappresentazione Immagine
- 27. Posizione della finestra di Visual Studio Console
- 28. API grafico Facebook: ottieni user_location
- 29. Materializza css - cambia la posizione della finestra di dialogo toast
- 30. Come mantenere la posizione di scorrimento usando la Pagina Master?