में एक वैश्विक फ़ंक्शन को ओवरराइड करना मैं जावास्क्रिप्ट सेटटाइम फ़ंक्शन में अपना स्वयं का त्रुटि प्रबंधन जोड़ने की कोशिश कर रहा हूं। निम्नलिखित कोड क्रोम में ठीक काम करता है:जावास्क्रिप्ट
var oldSetTimeout = window.setTimeout;
window.setTimeout = function setTimeout(func, delay) {
var args = Array.prototype.slice.call(arguments, 0);
args[0] = function timeoutFunction() {
var timeoutArgs = Array.prototype.slice.call(arguments, 0);
try {
func.apply(this,timeoutArgs);
}
catch (exception) {
//Do Error Handling
}
}
return oldSetTimeout.apply(this, args);
}
लेकिन IE7 में यह एक पुनरावर्ती समारोह में बदल जाता है। किसी कारण से oldSetTimeout
नए फ़ंक्शन पर सेट हो जाता है।
कोई सुझाव?
ओर ध्यान दें: हाँ, मैं इसे इस तरह करने की जरूरत है। मैं तीसरे पक्ष के पुस्तकालयों का ढेर उपयोग कर रहा हूं, जिनमें से सभी सेटटाइमआउट से अच्छी तरह से निपट नहीं पाते हैं, इसलिए मैं सिर्फ कॉलटाइम पर कॉल नहीं बदल सकता।
अच्छा बिंदु। मैंने अपने जवाब में बदलाव किया; मुझे आशा है कि आपको बुरा लगेगा। –
लॉल, लेकिन अब यह कहने के जवाब हैं>: | –