2013-02-20 8 views
5

मुझे लगता है कि कुछ jekyll संचालित ब्लॉग टिप्पणियों के लिए Disqus का उपयोग करते हैं और जहां तक ​​अनुभाग अनुभाग तब तक लोड नहीं होगा जब तक आप पृष्ठ के नीचे स्क्रॉल नहीं करते।पृष्ठ के निचले भाग तक स्क्रॉल करते समय Disqus को कैसे लोड करें?

मैं इस से कैसे संपर्क कर सकता हूं?

मैं कुछ इस तरह की कोशिश की है:

<div id="disqus_thread"></div> 
<div id="disqus_loader" style="text-align: center"> 
<button onclick="load_disqus()">Load Disqus Comments</button> 
<script> 
function load_disqus() 
{ 
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 
    dsq.src = "http://[YOUR-DISQUS-SHORTNAME].disqus.com/embed.js"; 
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 
    var ldr = document.getElementById('disqus_loader'); 
    ldr.parentNode.removeChild(ldr); 
} 
</script> 
</div> 

एक क्लिक बटन Disqus लोड करने के लिए। लेकिन मैं सोच रहा हूं कि जब मैं पृष्ठ के नीचे स्क्रॉल करता हूं तो मैं इसे कैसे लोड कर सकता हूं।

+0

आपने क्या प्रयास किया है? क्या आपके पास एक कार्यशील टिप्पणी अनुभाग है जिसके लिए आप कुछ कोड दिखा सकते हैं? – Wez

+0

मुझे जो मिला वह Disqus से सार्वभौमिक कोड है। मैंने Disqus लोड करने के लिए एक क्लिक बटन की तरह कुछ कोशिश की है। –

उत्तर

6
मदद से

थोड़ा और अधिक लचीलापन (jQuery की आवश्यकता है) के लिए Javascript: How to detect if browser window is scrolled to bottom?

var disqus_loaded = false; 

function load_disqus() 
{ 
    disqus_loaded = true; 
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 
    dsq.src = "http://[YOUR-DISQUS-SHORTNAME].disqus.com/embed.js"; 
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 
    var ldr = document.getElementById('disqus_loader'); 
    ldr.parentNode.removeChild(ldr); 

} 

window.onscroll = function(e) { 
    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { 
     //hit bottom of page 
     if (disqus_loaded==false){ load_disqus() }; 
    } 
}; 
+0

इस विधि के साथ समस्या है, कोई स्टॉप पॉइंट नहीं है। जब भी मैं पृष्ठ के नीचे स्क्रॉल करता हूं तो Disqus बार-बार लोड हो जाएगा। –

+0

इसे रोकने के लिए एक त्वरित परिवर्तन जोड़ा गया। – bwest

+0

फिर भी वही समस्या है, यह load_disqus को लोड रखने से रोक नहीं रही है। –

2

से, आप एक वेपॉइंट स्थापित करने के बजाय नीचे करने के लिए सभी तरह से स्क्रॉल करने के लिए उपयोगकर्ता की आवश्यकता होती है पर विचार करना चाहते हो सकता है।

$('.end-of-jekyll-post').waypoint(function(direction) { 
    load_disqus(); 
}); 
+0

+1 बहुत बढ़िया प्लगइन! –

संबंधित मुद्दे