2011-12-18 1 views
4

私のページにajaxを使ってDisqusを読み込もうとしましたが、私は説明します。私はそれの中に一つのページを持っています。私はjqruselを持っていて、differentsイメージを持っていて、それぞれのコメントがあります。Disqus + ajax + died ...

私はこの画像の1をクリックしたときに、私はこのコードを実行した:

$.get("/sets/comentarios",{set_id:set_id},function(data){ 
       $("#componet_comentarios").html(data);    

、次のURLの負荷:

var disqus_identifier = 'votar-<?= $id; ?>'; 
    var disqus_url = 'www.mitrendy.com/votar/<?= $id; ?>'; 

    // Remove the old script if it's found 
    oldDsq = document.getElementById('MitrendyComentDisqus'); 
    if(oldDsq) { 
     (document.getElementsByTagName('head')[0] || 
     document.getElementsByTagName('body')[0]).removeChild(oldDsq); 
    } 


    (function() { 
     var dsq = document.createElement('script'); 
     dsq.type = 'text/javascript'; 
     dsq.async = true; 
     dsq.id = "MitrendyComentDisqus-<?= $id; ?>"; 
     dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; 
     (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 
    })(); 

をしかし、コメントをリフレッシュすることはありません。後、私はディスカスの公式ページで見た:

DISQUS.reset({ 
    reload: true, 
    config: function() { 
    this.page.identifier = "newidentifier"; 
    this.page.url = "http://example.com/#!newthread"; 
    } 
}); 

が、私はそれを更新したことがない、Ajaxでコメントをロードしようとしたときには、同じです。

私はそれに夢中です。

ありがとうございました!

+0

あなたは解決策を見つけたことがありますか?私たちはこの問題に苦しんでいます。実際に、私がdisqusにhashbang URLを渡すたびに、私は400の不正なリクエストエラーを受け取ります。何か案が? – Allov

+0

いいえ、現時点ではありません。私はすべてを試しましたが、幸運なしに –

+0

私は今Disqusのサポートに電子メールで連絡しています。私はあなたを最新の状態に保つつもりです。理論的に – Allov

答えて

7

私はサイトをajaxに移動し、disqus jsを含むphpに以前含まれていたサブページがajax(disqusとそのスクリプト用のコンテナ)を使用してロードされていますが、スクリプトは評価されません。だから私は、グローバルの.jsファイルに移動し、関数内でラップ、このような:

var disqus_shortname = 'myname'; 
var disqus_identifier = 'myident'; 

function loadDisqus() { 
    (function() { 
     var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 
     dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; 
     (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 
    })(); 
} 

とAjaxの負荷のコンテンツの後、私はloadDisqus();とボード負荷を呼び出します。 あなたの例では、識別子としてパラメータを渡し、呼び出し時にすべてを正しく定義する必要があります。

+2

あなたはdisqus_urlにどのURLを使用していますか?それはハッシュバングですか(#!)、それとも普通のURLですか? – Allov