#23557273 · 20 Jan 2011, 11:25 · · პროფილი · პირადი მიმოწერა · ჩატი
მაქვს კოდი ასეთი სახის
<script> function getMessages() { new Ajax.Updater( 'newmess', 'xxx.php', { onSuccess: function() { window.setTimeout( getMessages, 180000 ); } } ); } getMessages(); </script>
როგორც ხედავთ კოდი გარკვეული დროის მონაკვეთში ანახლებს xxx.php-ს რომელსაც თავის მხრივ მოყვება input form დახმარება მჭირდება კოდში ისეთი ფუნქციის დამატებაში რომელიც input form-ში მომხმარებლის მიერ მონაცემების შეტანის პერიოდში შეაჩერებს Ajax.Updater-ს ანუ არ განაახლებს xxx.php-ს რადგან განახლების შემთხვევაში თუ უსერი ვერ მოასწრებს შეტანილი ინფორმაციის გაგზავნას მთელი ინფორმაცია იკარგება და ხელახლა უწევს მონაცემების შეტანა. ერთერთ უცხოურ ფორუმზ ეიყო შემოთავაზება გამომეყენებინა ეს ფუნქცია
var inactiveTimer; var active = true; function setTimer(){ inactiveTimer = setTimeOut("stopAjaxUpdateFunction()", 120000); //120 seconds } setTimer(); document.onmouseover = function() { clearTimeout ( inactiveTimer ); setTimer(); resumeAjaxUpdate(); }; //clear the timer and reset it. function stopAjaxUpdateFunction(){ //Turn off AJAX update active = false; } function resumeAjaxUpdate(){ if(active == false){ //Turn on AJAX update active = true; }else{ //do nothing since we are still active and the AJAX update is still on. } }
მაგრამ ჩემი java[ertad]script–თან არც თუ ისე კარგი ურთიერთობის და გამო არ ვიცი როგორ მოვარგო ეს ჩემს კოდს.
|