MBC Computer Solutions Ltd.

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, 12 February 2008

Catching JavaScript errors and masking over the alert() method

Posted on 13:53 by Unknown

OK, I didn't think this would be such an amazing concept, but apparently someone did.  JavaScript actually allows you to override the default alert() behaviour; you can use this to display a fancy dialog in place of the standard modal alerts, or just alter the alert:

<script type="text/javascript">
// <![CDATA[
   var originalAlert = window.alert;

   window.alert = function(msg) {
      originalAlert('Altered Message: ' + msg);
   }
// ]]>
</script>

Furthermore, you can apply the same principal to override the error behaviour:

window.onerror = function() {
   alert('An error occured');
}

The result of an error on the page is a popup "Altered Message: An error occurred".

You can test this out by adding another function and method

function throwError(e) {
    throw 'Exception';
}

<input type="button" value="Click Me" onclick="throwError();" />

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • How to change the temperature scale on a Honeywell T6575 Thermostat
    [The complete documentation can be found at http://customer.honeywell.ca/techlit/pdf/95c-00000s/95c-10897.pdf ]   This was bugging me fo...
  • Why does iTunes setup need to close Outlook?!
    Everytime I update iTunes I remember why I left it so long - the install process is quite annoying! Can someone please explain to me why it...
  • Mac OSX 10.5.2 Freezing Intermittently
    I've been having an issue with my MacBook (you know, that computer I hide under my desk most of the time) where intermittently, the UI w...
  • Windows Search 4.0 Released .....and searching finally works!
    I've been dealing with Outlook 2007's search problems since installing it way back then.  Most frequently, I'd search a keyword;...
  • Recursively finding controls - where to start?
    I love hearing about bugs and problems in components I have authored.  Most people hate hearing about bugs (I assume because they like to th...
  • Dell 2009W's Finally Arrive
    I had previously   written about the new Dell 2208WFP 22" Wide Screen LCD's that I had purchased and immediately sent back due to ...
  • An Experiment with Google Services & Page Speed
    When building eCommerce sites, we deal a lot with performance.  Not just ensuring that our sites respond quickly, but also working with cust...
  • How to query your BES database for a list of users
    I was asked to generate a list of all our BES users, including their name, phone number, PIN, IMEI and device number.  Sure, I could have co...
  • C# – Converting IP’s to Numbers and Numbers to IP’s in 2 lines of code
    I don’t know why everywhere I searched had such complex implementation of this, but converting from a dotted IP to a number (integer) and ba...
  • ScottGu’s Color Scheme for Visual Studio 2010
    ScottGu was nice enough to provide the world with his awesome Visual Studio 2008 color scheme.  I’ve been using this for many years now an...

Blog Archive

  • ►  2012 (1)
    • ►  February (1)
  • ►  2010 (1)
    • ►  April (1)
  • ►  2009 (7)
    • ►  December (1)
    • ►  November (1)
    • ►  October (1)
    • ►  July (1)
    • ►  April (2)
    • ►  February (1)
  • ▼  2008 (36)
    • ►  November (3)
    • ►  October (2)
    • ►  September (1)
    • ►  August (1)
    • ►  July (2)
    • ►  June (6)
    • ►  May (4)
    • ►  April (1)
    • ►  March (4)
    • ▼  February (7)
      • IIS 7 FTP Availability
      • MS-DOS Editor still present in Vista
      • Examining HTTP responses in kernel-mode cache
      • Vista SP1 Installation Results
      • Checking the state of TCP Auto-tuning and Chimney ...
      • Catching JavaScript errors and masking over the al...
      • It's the simple things that save you...
    • ►  January (5)
  • ►  2007 (35)
    • ►  December (1)
    • ►  November (9)
    • ►  October (3)
    • ►  September (6)
    • ►  August (7)
    • ►  July (9)
  • ►  2006 (3)
    • ►  May (3)
Powered by Blogger.

About Me

Unknown
View my complete profile