2010-06-20 19 views
7

Jquery ऑटो रीफ्रेश ब्राउज़र मेमोरी का एक बहुत उपयोग कर रहा है। क्या इसे रोकने का कोई तरीका है। मेरे पास प्रत्येक 3 सेकंड में 2 div रीफ्रेशिंग था, लेकिन मैंने इसे 9 और 15 सेकेंड तक ले जाया, इससे थोड़ी देर तक खिड़की मेरी साइट पर खुली रहती है और आखिरकार ब्राउजर दुर्घटनाग्रस्त हो जाता है।Jquery ऑटो रीफ्रेश div

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script> 


<script> 
var auto_refresh = setInterval(
function() 
{ 
$('#details2').load('links2.php').fadeIn("slow"); 
}, 15000); // refresh every 10000 milliseconds</script> 
+0

आप यह करने के लिए किस प्लगइन/कोड का उपयोग कर रहे हैं? – Matt

+2

क्या आप शामिल कुछ कोड पोस्ट कर सकते हैं? – Pointy

+0

उत्तर

2

आप लोड() को छोड़ने और इसके बजाय $ .ajax का उपयोग करने का प्रयास कर सकते हैं। मुझे भार पता है(); एक AJAX अनुरोध है लेकिन मुझे याद है कि यह पूरी लिपि प्राप्त करता है। एक स्क्रिप्ट का अनुरोध करने का प्रयास करें, अपनी डेटाबेस गणना करें और डेटा को जेसन के रूप में वापस करें। मुझे लगता है कि आप डेटाबेस अनुरोध से डेटा के साथ पूर्ण एचटीएमएल भेज रहे हैं। इसके बजाय जेसन के साथ कोशिश करें।

उदाहरण के लिए आपको एक वस्तु के रूप में डेटा मिलेगा।

{"variable":"foo"} 

फिर आप प्रत्येक कथन के साथ डेटा ला सकते हैं।

$.ajax({ 
    url: "links2.php", 
    type: "POST", 
    dataType: "json", 
    success: function(data){ 

     // data here is returned as objects since it's json 
     $.each(data, function(key, value) { 
      $("#details2").empty().append(value.variable); 
     }); 

    } 
}); 

मुझे लगता है कि यह अपनी स्मृति रिसाव नहीं करना चाहिए और अंत में अपने ब्राउज़र को नष्ट कर, भले ही आप इसे हर दूसरे दूसरे या तो कहते हैं। इसे आज़माएं और मुझे बताएं कि यह कैसा चल रहा है।

शुभकामनाएं!

+0

धन्यवाद स्टीफन, यह काम करने के लिए काफी आसान लगता है। –

0

यह करने के लिए इसे बदलने का प्रयास करें: स्पष्ट रूप से jQuery बताने के लिए पहले कंटेनर खाली करने के लिए, यह किसी भी घटना संचालकों आदि मुक्त कर सकते हैं ताकि (हालांकि यह स्पष्ट नहीं है

// ... 
$('#details2').empty().load('links2.php').fadeIn('slow'); 

यह परिचय सहायता कर सकते हैं कि वहाँ वहां कोई हैंडलर होगा ...)

संपादित करें — वास्तव में कभी भी बुरा नहीं; मैंने jQuery स्रोतों की जांच की और ऐसा लगता है कि .html() (जो load() करता है, मुझे यकीन है) हमेशा empty() पर कॉल करना प्रतीत होता है।

+0

मैं इसे किसी भी कोशिश करूँगा जो जानता है कि यह काम कर सकता है। धन्यवाद –

0

हालांकि एक उत्तर स्वीकृत कर दिया गया है, लेकिन मुझे आपको यह बताना चाहिए। मुझे भी यही समस्या थी।

मुझे JQuery फ़ाइल के स्रोत में समस्या मिली। मैंने अपने स्रोत के रूप में JQuery साइट यूआरएल का उपयोग किया और हाँ, यह मेरे कंप्यूटर उपयोग को 99% तक बढ़ा दिया। लेकिन फिर मैंने पूरी JQuery स्क्रिप्ट डाउनलोड की और इसे मेरी वेबसाइट निर्देशिका में सहेजा, मैंने अपने स्रोत में इसका उपयोग किया और फिर कंप्यूटर उपयोग या स्मृति के साथ कोई समस्या नहीं थी। इसे भी आजमाएं ..

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