2015-09-03 20 views
6

Ho una funzione javascript che carica il codice HTML incorporato per un post di Instagram. Il post viene visualizzato ma la foto viene sostituita da uno sfondo grigio e dal logo Instagram. Il post contiene altre informazioni come hashtag, time posted e username. Credo che il problema sia che la libreria JavaScript embeds.js di Instagram non si carica correttamente. Sono consapevole che posso farlo manualmente ma sto avendo difficoltà con come farlo in termini di sintassi e posizionamento nel mio codice. Di seguito è il mio codice.La libreria embeds.js di Instagram non viene caricata

 <script type="text/javascript"> 
     var auto_refresh = setInterval(
     (function() { 
      $("#latestData").load("displayPost.php");//displayPost.php "echo" html embed code 
     }), 10000); 
    </script> 

<div id="latestData"></div> 
    <script src="https://platform.instagram.com/en_US/embeds.js"></script> 
    <script>if (typeof window.instgrm !== 'undefined') { 
     window.instgrm.Embeds.process(); 
    }</script> 

Ho usato questi per cercare di risolvere questo problema.

Instagram embeds not working when adding embeds dynamically

https://wordpress.stackexchange.com/questions/170857/problems-using-wps-oembed-function-instagram-ajax

https://instagram.com/developer/embedding/?hl=en

+0

Okay, ho trovato che se eseguo la funzione embed su un timer, il post di instagram verrà caricato correttamente, ma mi sembra che ci debba essere un modo più efficiente per farlo. Di seguito è riportato il codice che ho aggiunto.

risposta

6

Questo sta accadendo perché non stai strutturare correttamente il vostro ordine di esecuzione. È necessario caricare prima il codice incorporato, quindi in una richiamata chiamata instgrm.Embeds.process(). Assicurati di non includere embeds.js con ciascun incorporamento aggiungendo OMITSCRIPT=true al tuo URL di incorporamento. Invece, includi embeds.js una volta in un tag script sulla tua pagina.

+0

Grazie per la risposta! Ho caricato il codice embed nell'intestazione del mio html e aggiunto OMITSCRIPT = true all'URL. Non sono ancora sicuro su come chiamare instgrm.Emeds.process(). Questo è il modo in cui attualmente lo sto chiamando. ' ' –

+3

Questo è l'URL per includere embeds.js di instagram, un po 'difficile da trovare. '' – mcclaskiem

Problemi correlati