मैं चेतावनी देने के लिए त्रुटियों को पारित करना चाहता हूं कि उपयोगकर्ता ने उनके कोड में गलती की है, भले ही उनके पास कंसोल खुला न हो।आप कंसोल संदेश और त्रुटियों को अलर्ट करने के लिए कैसे भेजते हैं?
var doc=(frame.contentWindow.document || obj.contentDocument|| obj.contentWindow);
var head = doc.getElementsByTagName('head')[0];
var scriptElement = doc.createElement('script');
scriptElement.setAttribute('type', 'text/javascript');
scriptElement.text = scripts;
try{
head.appendChild(scriptElement);
}
catch(e){ alert("error:"+e.message +" linenumber:"+e.lineNumber);}
स्क्रिप्ट में त्रुटि होने पर appendChild एक त्रुटि फेंकता है। यह सीधे कंसोल पर जाता है, और मैं इसे एक चेतावनी में प्रदर्शित करना चाहता हूं, क्योंकि यह बच्चों के लिए है और वे कंसोल की जांच नहीं कर सकते हैं। कोशिश पकड़ने ब्लॉक त्रुटि पकड़ नहीं है। मैंने इसे eval (स्क्रिप्ट) के साथ करने की कोशिश की।
try{
eval(scripts);} catch(e){ alert("error:"+e.message +" linenumber:"+e.lineNumber);}
यह काम करता है लेकिन इसका मतलब है कि कोड दो बार निष्पादित किया गया है, और यह कुछ मामलों में बहुत असुविधाजनक है।
मैं बंदर console.error पैचिंग की कोशिश की:
console.log=function(){alert("taking over the log");}
console.error=function(){alert("taking over the log");}
लेकिन यह है कि केवल काम करता है जब मैं सचमुच console.error का उपयोग करें। जब कोई वास्तविक त्रुटि फेंक दी जाती है। वास्तविक त्रुटि के मामले में कंसोल में त्रुटि क्या त्रुटि भेजती है, अगर यह कंसोल नहीं है। आतंक? और क्या मैं इसे एक्सेस कर सकता हूं और इसे बदल सकता हूं? कोई विचार? मदद वास्तव में सराहना की जाएगी। धन्यवाद Jenita
यह वास्तव में मेरे लिए काम नहीं करता है। यहां तक कि इस टुकड़े की तरह सबसे सरल रूप में: – Jenita
मैंने इसे नीचे – Jenita