2016-03-30 13 views
1

"Twitter'da paylaş" işlevini yapıyorum. Paylaşım düğmem var ve tıkladığımda twitter bir widget açılacak ve bana paylaşım kutusunu göstereceğim. Widget'ın Tweet düğmesine bastığımda, mesajımı twitter zaman çizelgesine gönderir.Başarılı bir tweet'den sonra, geri arama + Twitter'ı çalıştırın

Şimdi bir geri arama işleminde bulunmak istiyorum, başarılı bir şekilde tweet attığımda, pop ekranı görüntülenmemeli ve web sitem bir sonraki sayfayı yönlendirmelidir.

Bu soruları yanıtladım Is there a callback for Twitter's Tweet Button? Gereksinimlerime göre çalışmıyor.

Twitter, etkinliklerin sunulmasını sağladı ancak sitemizde gömülü olan Tweet butonuna basılacak. Benim aşağıdaki kodla çalıştı:

<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.pinceladasdaweb.com.br/blog/" data-via="pinceladasdaweb" data-lang="pt" data-text="Pinceladas da Web">Tweetar</a> 

Js kodu:

window.twttr = (function (d,s,id) { 
var t, js, fjs = d.getElementsByTagName(s)[0]; 
if (d.getElementById(id)) return; js=d.createElement(s); js.id=id; 
js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); 
return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } }); 
}(document, "script", "twitter-wjs")); 

twttr.ready(function (twttr) { 
twttr.events.bind('tweet', function() { 
    alert('Tweeted!'); 
}); 
}); 

});

Başarılı bir tweet'den sonra bir sonraki sayfaya yönlendirmenin bir yolu var mı?

+0

Hangi kodu çalışıyorsunuz? – itzmukeshy7

+0

Şimdiye kadar denediğin şeyleri paylaşır mısın? – Rayon

+0

@ itzmukeshy7 Kodu ekledim, lütfen içine bak. –

cevap

2

Genellikle tweet'den geri arama için bir yöntem veya amaç yoktur. Aşağıdaki kodda bir geri bildirim yapmak için kullandım:

window.twttr = (function (d,s,id) { 
    var t, js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; js=d.createElement(s); js.id=id; 
    js.src="//platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); 
    return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } }); 
    }(document, "script", "twitter-wjs")); 

$(document).on('click','.twitter',function(){ 

    var tweetUrl = 'https://twitter.com/intent/tweet?url='+window.location.href; 
    var x = screen.width/2 - 700/2; 
    var y = screen.height/2 - 450/2; 
    var child = window.open(tweetUrl, "popupWindow", "width=600, height=400,left="+x+",top="+y); 
     child.focus(); 
     var timer = setInterval(checkChild, 1); 
     document.domain = 'example.com';  //Replace it with your domain 
     function checkChild() { 
     if(child.closed){ 
      clearInterval(timer); 
     } 
     if(child.window.closed){ //Code in this condition will execute after successfull post 
      //Do your stuff here 
      clearInterval(timer); 
     } 
     } 
}); 

<a class="twitter" href="javascript:void(0)">Tweet</a> 
+0

Evet, benim için iyi çalışıyor. Teşekkürler –

+0

Ben localhost'umda test ediyorum ama hiçbir zaman // içeriğinizi geri çağırıyorsunuz ve 'child.window.closed' null ve' 'Uncaught TypeError '' döndürüyor: 'null' null 'özelliği kapalı' okunamıyor ' – Richardsondx

+0

yaptım Yukarıdaki kodda bazı değişiklikler ve şimdi de localhost üzerinde çalışacaktır. –