मैंने यहां खोज की और उपयोगकर्ता को पृष्ठ पर निष्क्रिय होने पर कार्रवाई करने के लिए एक त्वरित समाधान मिला। यह मूल रूप से सभी ब्राउज़रों पर अच्छी तरह से काम करता है।Google क्रोम पर सेटटाइमआउट() के साथ अजीब समस्या
लेकिन जब मैं पृष्ठ पर एक चेतावनी या पुष्टि संवाद का उपयोग करता हूं, तो Google Chrome पर अजीब समस्या होती है।
चेतावनी या पुष्टि बॉक्स गायब होने के बाद (ठीक है, रद्द या क्रॉस दबाया गया), निष्क्रिय कार्य अप्रत्याशित रूप से काम करता है।
- बॉक्स करें और अलर्ट बॉक्स गायब हो जाता करने के बाद, जो लिंक के से आया onclick, मुझे मिल गया '3 सेकंड से पारित कर दिया' बॉक्स तुरंत
एफएफ, IE और क्रोम पर परीक्षण किया गया (नवीनतम)। यह सिर्फ क्रोम पर होता है।
मेरे कोड यहाँ है: http://jsbin.com/ifule3
window.onload = idleTimer;
function idleTimer() {
var idleDuration;
document.onmousemove = idleReset;
function idleReset() {
if (idleDuration) {
clearTimeout(idleDuration);
idleDuration = 0;
}
idleDuration = setTimeout(function() {
alert('3 seconds passed.');
}, 3000)
}
};
<a onclick="if(confirm('?')) { alert('Ok Pressed.') } else { return false; };">First Link!</a>
<a onclick="alert('test');" >Second Link!</a>
ऐसा लगता है मेरी स्पष्टीकरण पर्याप्त नहीं है:/
मैं jQuery के साथ कोड बदल दिया;
jQuery(document).ready(function() {
var idleDuration;
jQuery(document).mousemove(function() {
if (idleDuration) {
clearTimeout(idleDuration);
idleDuration = 0;
}
idleDuration = setTimeout(function() {
someIdleAction();
window.location = 'some url';
}, 3000)
})
});
जब मैं अपने कोड पर यह कोड डालता हूं। यह एक आकर्षण की तरह काम करता है। मैं पृष्ठ खोलता हूं, कुछ माउस क्रिया करता हूं या नहीं, फिर माउस को घुमाने के बिना 3 सेकंड, मुझे निष्क्रिय अलर्ट मिल गया। यही मुझे चाहिए।
जब मैं एक लिंक डालता हूं जो बस एक अलर्ट बॉक्स को कॉल करता है और उस पर क्लिक करता है, तो अलर्ट बॉक्स दिखाई देता है। फिर मैंने बॉक्स बंद कर दिया और मुझे निष्क्रिय अलर्ट मिला जो '3 सेकंड पास' है।
<a onclick="if(confirm('Are you OK?')) { alert('Nice.') } else { return false; };">First Link!</a>
<a onclick="alert('An alert.');" >Second Link!</a>
यह Google क्रोम पर होता है। आईई और एफएफ के साथ सबकुछ ठीक है। टाइमआउट बढ़ाने, कुछ भी नहीं बदलता है।
* "... निष्क्रिय कार्य अप्रत्याशित रूप से काम करता है।" * अप्रत्याशित रूप से ** कैसे **?!? –
स्टैक ओवरव्लो में आपका स्वागत है। कुछ अन्य साइटों के विपरीत, लक्ष्यों में से एक स्टैक ओवरव्लो * अकेले खड़े * के लिए है। हर तरह से आपके द्वारा किए गए लाइव उदाहरणों को जोड़ने के लिए लिंक करें, लेकिन उस कोड को शामिल करें जिसका आप अपने प्रश्न में उपयोग कर रहे हैं (यही कारण है कि यी जियांग ने इसे आपके लिए वहां कॉपी किया)। लिंक रोट आसानी से सेट हो सकता है (बाहरी संसाधन हटा दिए जाते हैं, नाम बदलते हैं, आदि) और इसके अलावा, लोगों को कहीं और नहीं जाना चाहिए यदि वे देख सकें कि सवाल से क्या गलत है। मज़े करो! –
@ टीजे। क्रॉउडर, मूल रूप से, ** हल्क स्मेश !! ** = डी –