का उपयोग कर ओपेरा में आतंक हम वर्तमान में वेब एप्लिकेशन पर काम कर रहे हैं, मेरे पास एक जेएस लॉगिंग तंत्र है जो जावास्क्रिप्ट त्रुटि को संभालता है जो पेज के अंदर जेएस कोड द्वारा पकड़ा नहीं जाता है। मैं ऐसी सभी त्रुटियों को पकड़ने के लिए window.onerror का उपयोग कर रहा हूं और उन्हें और कहां लॉग इन कर रहा हूं।नकली खिड़की। जावास्क्रिप्ट
हालांकि, समस्या जो window.onerror घटना नहीं है ओपेरा के साथ है। एक दृष्टिकोण जो मैं सोच सकता हूं, स्ट्रिंग प्रक्रिया के लिए सभी जेएस फ़ंक्शन कोड और बॉडी लोड के बाद उन कार्यों के अंदर पकड़ने वाले ब्लॉक को सम्मिलित करें। हालांकि यह कई मामलों में काम नहीं करता है, लेकिन, यह कम से कम कुछ हद तक काम करता है।
मुझे यकीन है कि इस दृष्टिकोण बेकार कर रहा हूँ, लेकिन, मैं कुछ भी बेहतर के बारे में सोच नहीं सकता था। कृपया सलाह दें।
अपडेट: अब, मैं मैं कर सकता के रूप में कई त्रुटियाँ पकड़ो करने के लिए कोड बोल रहा हूँ नीचे के लिए।
function OnBodyLoad()
{
var allElements = document.getElementsByTagName("*");
for(var cnt = 0;cnt < allElements.length;cnt++)
{
RegisterAllEvents(allElements[cnt]);
}
}
function RegisterAllEvents(objToProcess){
for(var cnt = 0;cnt < objToProcess.attributes.length;cnt++){
if(IsAttributeAnEvent(objToProcess.attributes[cnt].name))
{
objToProcess.attributes[cnt].value = 'try{'+objToProcess.attributes[cnt].value+'}catch(err){LogError("'+ objToProcess.id+'"'+ ',err);}';
}
}
}
कोड के लिए धन्यवाद! हम अपनी कंपनी में विकास मोड में इसका उपयोग कर सकते हैं (यदि यह बहुत धीमी नहीं है)। –