ग्रीटिंग्स,
मेरे पास निम्न जेएस कोड है:
Var पुनः लोड टायमर = फ़ंक्शन (विकल्प) {var seconds = options.seconds || 0, लॉगआउटURL = options.logoutURL, संदेश = विकल्प। संदेश; This.start = function () {setTimeout (function () {if (confirm (message)) {// Reset timer $। Get ("renewSession.php");} else {window.location.href = logoutURL;} }, सेकेंड * 1000); } यह वापस; };
और मुझे टाइमर रीसेट करना होगा, जहां मुझे रीसेट टाइमर के लिए टिप्पणी है I मैंने कुछ अलग चीजों की कोशिश नहीं की है ताकि कोई फायदा नहीं हो। इसके अलावा इस ब्लॉक को कॉल करने वाला कोड निम्न है:
var timer = reloadTimer ({सेकंड: 20, लॉगआउटURL: 'logout.php', संदेश: 'क्या आप लॉग इन रहना चाहते हैं?' }); timer.start ();
कोड परिचित हो सकता है जैसा कि मैंने इसे SO पर पाया: -)
धन्यवाद!
सबसे पहले, आपको नया
ऑपरेटर को var timer = new reloadTimer
में उपयोग करने की आवश्यकता है, और फिर से लोड हो जाना चाहिए Timer यह संकेत करने के लिए कि यह नया
के साथ प्रयोग करने की आवश्यकता है, ReloadTimer में कैपिटल में है
इस कारण से आपको new
की आवश्यकता है क्योंकि फ़ंक्शन संदर्भ यह
और बिना नया
इस्तेमाल किया जाता है यह वैश्विक होगा उदाहरण के लिए यह स्वयं के बजाय गुंजाइश है।
टाइमर को रीसेट करने के लिए आप केवल विंडो कॉल करते हैं। क्लीर टाइम टाइम पैरामीटर के संदर्भ में
var timer = window.setTimeout (। ... ... window.clearTimeout (टाइमर);
UPDATE
रीसेट करके क्या आप का मतलब है कि टाइमर को पुनरारंभ करना है?
यदि ऐसा है, तो setTimeout
UPDATE 2
के बजाय setInterval
का उपयोग करें और यहां एक थोड़ा बेहतर दृष्टिकोण है (यदि आप अभी भी इस तरह के एक वर्ग का उपयोग करना चाहते हैं ताकि कुछ बहुत छोटा हो)
var ReloadTimer = function (options) {var seconds = options.seconds 0, लॉगआउटURL = options.logoutURL, संदेश = विकल्प। मेसेज; var टाइमर; रिटर्न {start: function () {timer = setInterval (function () {i एफ (पुष्टि करें (संदेश)) {$ .get ("renewSession.php"); } और {स्पष्ट अंतराल (टाइमर); Window.location.href = लॉगआउटURL; }}, सेकेंड * 1000); }}; }; Var myTimer = नया ReloadTimer ({सेकंड: 20, लॉगआउटURL: 'logout.php', संदेश: 'क्या आप लॉग इन रहना चाहते हैं?'}); myTimer.start ();
Comments
Post a Comment