daily pastebin goal
56%
SHARE
TWEET

Untitled

a guest Apr 26th, 2018 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function($) {
  2.     $.runtimeErrorLog = [];
  3.     var logError = function(errorMessage, fileName, lineNumber) {
  4.         $.runtimeErrorLog.push(errorMessage + ", in " + fileName + "(line " + lineNumber + ")");
  5.     };
  6.     var logException = function(ex) {
  7.         logError(ex.name + " : " + ex.message, ex.fileName, ex.lineNumber);
  8.     };
  9.  
  10.     var originalOnError = window.onerror;
  11.     window.onerror = function(errorMessage, fileName, lineNumber) {
  12.         logError(errorMessage, fileName, lineNumber);
  13.         if (originalOnError) {
  14.             return originalOnError.apply(this, arguments);
  15.         }
  16.     };
  17.  
  18.     // if it's Mozilla, Opera or webkit
  19.     if (document.addEventListener) {
  20.         var originalBind = $.fn.bind;
  21.         var originalReady = $.fn.ready;
  22.         $.fn.extend({
  23.             bind: function(type, data, fn) {
  24.                 var proxy = jQuery.event.proxy(fn || data, function(event) {
  25.                     try {
  26.                         return (fn || data).apply(this, arguments);
  27.                     } catch (ex) {
  28.                         logException(ex);
  29.                         throw ex;
  30.                     }
  31.                 });
  32.                 var hasFn = !!fn;
  33.                 return originalBind.call(this, type, hasFn ? data : proxy, hasFn ? proxy : undefined);
  34.             },
  35.             ready: function(fn) {
  36.                 var handler = fn;
  37.                 if (!$.isReady) {
  38.                     handler = function() {
  39.                         try {
  40.                             fn.apply(document, arguments);
  41.                         } catch (ex) {
  42.                             logException(ex);
  43.                             throw ex;
  44.                         }
  45.                     };
  46.                 }
  47.                 return originalReady.call(this, handler);
  48.             }
  49.         });
  50.     }
  51. })(jQuery);
RAW Paste Data
Top