|  | | Controlling Script Errors |  
| 
 |  
   
 
/* 
JavaScript Bible, Fourth Edition 
by Danny Goodman  
 
John Wiley & Sons CopyRight 2001 
*/ 
 
 
<HTML> 
<TITLE>Error Dialog Control</TITLE> 
<SCRIPT LANGUAGE="JavaScript1.1"> 
// function with invalid variable value 
function goWrong() { 
    var x = fred 
} 
// turn off error dialogs 
function errOff() { 
    window.onerror = doNothing 
} 
// turn on error dialogs with hard reload 
function errOn() { 
    window.onerror = handleError 
} 
// assign default error handler 
window.onerror = handleError 
// error handler when errors are turned off...prevents error dialog 
function doNothing() {return true} 
function handleError(msg, URL, lineNum) { 
    var errWind = window.open("","errors","HEIGHT=270,WIDTH=400") 
    var wintxt = "<HTML><BODY BGCOLOR=RED>" 
    wintxt += "<B>An error has occurred on this page.  " 
    wintxt += "Please report it to Tech Support.</B>" 
    wintxt += "<FORM METHOD=POST ENCTYPE='text/plain' " 
    wintxt += "ACTION=mailTo:[email protected] >" 
    wintxt += "<TEXTAREA NAME='errMsg' COLS=45 ROWS=8 WRAP=VIRTUAL>" 
    wintxt += "Error: " + msg + "\n" 
    wintxt += "URL: " + URL + "\n" 
    wintxt += "Line: " + lineNum + "\n" 
    wintxt += "Client: " + navigator.userAgent + "\n" 
    wintxt += "-----------------------------------------\n" 
    wintxt += "Please describe what you were doing when the error occurred:" 
    wintxt += "</TEXTAREA><P>" 
    wintxt += "<INPUT TYPE=SUBMIT VALUE='Send Error Report'>" 
    wintxt += "<INPUT TYPE=button VALUE='Close' onClick='self.close()'>" 
    wintxt += "</FORM></BODY></HTML>" 
    errWind.document.write(wintxt) 
    errWind.document.close() 
    return true 
} 
</SCRIPT> 
</HEAD> 
<BODY> 
<FORM NAME="myform"> 
<INPUT TYPE="button" VALUE="Cause an Error" onClick="goWrong()"><P> 
<INPUT TYPE="button" VALUE="Turn Off Error Dialogs" onClick="errOff()"> 
<INPUT TYPE="button" VALUE="Turn On Error Dialogs" onClick="errOn()"> 
</FORM> 
</BODY> 
</HTML> 
 
 
            
        |     
 
 |  
 |  
 |  
| Related examples in the same category |   
 |