2012-04-06 9 views
6

Voglio mostrare il plugin "Like box" di Facebook e qualche altro codice FB in una pagina caricata ajax.facebook "Like box" nella pagina caricata Ajax carica solo la prima volta?

Quando carico in una pagina html ordinaria funziona come dovrebbe, ma quando provo a metterlo in una pagina di carico ajax Si carica solo la prima volta, quando clicco sul link per caricare la pagina la seconda volta non sta caricando la pagina? Sta caricando la pagina solo se svuoto la cache.

Il file indice inizia il codice fb.

FB.init({ 
    appId  : '277065222', // App ID 
    status  : true, // check login status 
    cookie  : true, // enable cookies to allow the server to access the session 
    xfbml  : true, // parse XFBML 
    oauth  : true 
}); 

ho caricare la pagina ajax con questo codice:

function loadFacebook(){ 

$('#container').load('http://www.manmade.se/manmade/guiden/facebook_onweb.html'); 
FB.XFBML.parse(); 
} 

e nella pagina ajax caricata ho il codice di facebook, ad esempio, il facebook come la scatola.

+0

Puoi essere più specifico su cosa ritorna esattamente dalla chiamata ajax? Cosa intendi con "non caricare la pagina"? Che la chiamata ajax non funziona o che il codice fb non viene analizzato? –

risposta

4

reloadlike.html

<div class="fb-like fltLeft" data-href="http://yrl_like" data-send="false" data-layout="button_count" data-width="87" data-show-faces="false"></div> 

questo dovrebbe funzionare ogni volta.

Immagino che la tua richiamata non sia corretta.

$('#container').load('reloadlike.html', function() { 
    FB.XFBML.parse(); 
}); 
+0

Grazie, ma mostra ancora solo la pagina la prima volta. Si prega di consultare www.manmade.se/guiden.asp e lì il lato sinistro delle lettere in basso chiamato. Facebook sul web. Non capisco perché si carica la prima volta, ma smette di funzionare. Mostra un avviso ogni volta che è in ajaxpage, ma non le altre cose. –

+0

ho aggiornato il mio commento precedente. la richiesta Ajax dovrebbe contenere solo tag simili a FBML. Nel tuo facebookonweb.html tutto l'html è lì ... quindi rendi il codice fbml separato solo come ricaricato. – Madan

+0

Ok, ma il problema è che nella pagina facebook_onweb.html ho sia 2 caselle Like che qualche altro codice facebook che ottiene ex. album da facebook con l'API di facebook. –

14

è possibile chiamare fb par script nella vostra caricamento della pagina dopo aver chiamato lo script fb

(function (d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=11111code"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 


$(document).ajaxComplete(function() { 
    try { 
     FB.XFBML.parse(); 
    } catch (ex) { } 
}); 
+1

Questo ha funzionato per me, grazie! –

0

Variare un po 'il codice di esempio da bugrasitemkar, alla fine del codice ajax, includo questo jquery script e funziona:

<script type="text/javascript"> 
    $(document).ready(function() { 
     try { 
      FB.XFBML.parse(); 
     } catch (ex) { } 
    }); 
</script> 
Problemi correlati