2012-05-01 39 views
1

編輯:看來Disqus是使用當前頁面的URL作爲註釋線程標識符,儘管我是明確的,並指出:創造Disqus評論的動態彈出不同的線程

<script type="text/javascript"> 
    var disqus_developer = 1; 
    var disqus_identifier = "@Model.UniqueThreadIdentifier"; <--- HERE 
    var disqus_shortname = 'foo'; 

    /* * * DON'T EDIT BELOW THIS LINE * * */ 
    (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); 
    })(); 
</script> 

閱讀下面的更多細節。


Disqus說我可以識別具有唯一標識符的「頁面」。

現在在這個特定的頁面中有大約10個項目,我希望每個項目都有一個個人的Disqus討論主題。

所以這裏是一個被加載的實際頁面:

@foreach (var strong in Model.StrongAgainst) 
{ 
    <div class="pick">   
      <div class="actions"> 
       <a href="#modalDialogue" data-toggle="modal" 
        id="@strong.UniqueThreadIdentifier" class="btn btn-comment"> 
        <i class="icon-comment"></i> 
        999 
       </a> 
      </div> 
     </div> 

    </div> 
} 

@UniqueThreadIdentifier是我使用,讓Disqus加載相應的線程什麼。

接着,在相同的HTML觀,我有此Javascript線,使用唯一標識符將返回相應Disqus配置和HTML一個PartialView:

<script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
     $(document).on("click", "#strong-against .pick .data .actions .btn-comment", function() { 
      var commentUniqueVar = $(this).attr("id"); 
      $.ajax({ 
       url: '/Counterpicks/GetCommentThread', 
       data: { uniqueidentifier: commentUniqueVar }, 
       success: function (data) { 
        $('#strongAgainstCommentModal').html(data); 
        alert("Finished loading."); 
       } 
      }); 
     }); 
    }); 
</script> 

和最多在這裏它的100%,證實正確的值被加載到HTML中。

這裏是PartialView:

<div class="modal-body">  
    <div id="disqus_thread"> 
    </div> 
    <script type="text/javascript"> 
     var disqus_developer = 1; 
     var disqus_identifier = "@Model.UniqueThreadIdentifier"; 
     var disqus_shortname = 'foobar'; 

     /* * * DON'T EDIT BELOW THIS LINE * * */ 
     (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); 
     })(); 
    </script> 
    <noscript> 
     Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments 
      powered by Disqus.</a></noscript> 
    <a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus"> 
     Disqus</span></a>  
</div> 

注意我是如何使用正確的值強類型的模型設定disqus_identifier

我唯一的猜測是,當聲明這樣的變量時,它是全局創建的嗎? (我想?)和Disque JavaScript庫總是會使用我分配給它的第一個值。正確?

如何正確加載Disqus JavaScript庫的正確標識符?

回答