2014-12-10 20 views
10

Sonsuz bir kaydırıcıda mesajları yükleyen bir blog üzerinde çalışıyor. Her blog yazısı, Instagram emblemlerine sahip olabilir veya olmayabilir. Sayfada gösterilen ilk işlemin işleneceğini (ilk sayfa işaretlemesinde mi yoksa dinamik olarak mı eklendiğine bakılmaksızın) alacağımı buluyorum. İşte sorunu göstermektedir ki basit JS Bin geçerli:Instagram, yerleştirme dinamik olarak yerleştirme sırasında çalışmaz.

http://jsbin.com/hilixi/1/edit?html,js,output

ilk Instagram embed ilk sayfa biçimlendirme içindedir. Başka bir Instagram yerleştirme, sayfa yüklendikten sonra 4 saniye sonra eklenir. İkinci gömülü eklenti işlenmiyor.

Herhangi bir fikir neden? Instagram embed script sadece bir kez çalışır gibi görünüyor. Yenilemek için zorlayabilir miyim?

sayesinde Matt

cevap

46

Arayabileceğin bir süreç işlevi vardır Instagram yerleştirme koduna ile gelir embed.js senaryo.

window.instgrm.Embeds.process() 

Sadece dinamik içeriğiniz yüklendiğinde kullanın.

.directive('externalscript', function() { 
    var injectScript = function(element) { 
    var instagramScript = angular.element(document.createElement('script')); 
    instagramScript.attr('async defer'); 
    instagramScript.attr('charset', 'utf-8'); 
    instagramScript.attr('src', 'http://platform.instagram.com/en_US/embeds.js'); 
    instagramScript.attr('onload', 'window.instgrm.Embeds.process()'); 
    element.append(instagramScript); 
    var twitterScript = angular.element(document.createElement('script')); 
    twitterScript.attr('async defer'); 
    twitterScript.attr('charset', 'utf-8'); 
    twitterScript.attr('src', 'http://platform.twitter.com/widgets.js'); 
    element.append(twitterScript); 
}; 

    return { 
     link: function(scope, element) { 
      injectScript(element); 
     } 
    }; 
}) 

ve sonra html görünümü çağrısında: senin app.js olarak

+2

Ha, sen söyleme. Teşekkürler bayım. Sen bir bilgin ve bir beyefendisin. – m4olivei

+0

Teşekkürler .. benim için çalıştı! – user3126894

+3

** '' ** 'den önce eklemek zorunda kaldı – iRector

0

komut elemanını eklemek için bir yönerge oluşturmak

<div externalscript></div>