@@ -15,7 +15,6 @@ var TraceKit = {
1515var _slice = [ ] . slice ;
1616var UNKNOWN_FUNCTION = '?' ;
1717
18-
1918/**
2019 * TraceKit.wrap: Wrap any function in a TraceKit reporter
2120 * Example: func = TraceKit.wrap(func);
@@ -35,6 +34,13 @@ TraceKit.wrap = function traceKitWrapper(func) {
3534 return wrapped ;
3635} ;
3736
37+ TraceKit . getLocationHref = function ( ) {
38+ if ( typeof document === 'undefined' )
39+ return '' ;
40+
41+ return document . location . href ;
42+ } ;
43+
3844/**
3945 * TraceKit.report: cross-browser processing of unhandled exceptions
4046 *
@@ -168,7 +174,7 @@ TraceKit.report = (function reportModuleWrapper() {
168174 location . context = TraceKit . computeStackTrace . gatherContext ( location . url , location . line ) ;
169175 stack = {
170176 'message' : message ,
171- 'url' : document . location . href ,
177+ 'url' : TraceKit . getLocationHref ( ) ,
172178 'stack' : [ location ]
173179 } ;
174180 notifyHandlers ( stack , true ) ;
@@ -512,6 +518,9 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() {
512518 * the url, line, and column number of the defined function.
513519 */
514520 function findSourceByFunctionBody ( func ) {
521+ if ( typeof document === 'undefined' )
522+ return ;
523+
515524 var urls = [ window . location . href ] ,
516525 scripts = document . getElementsByTagName ( 'script' ) ,
517526 body ,
@@ -680,7 +689,7 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() {
680689 return {
681690 'name' : ex . name ,
682691 'message' : ex . message ,
683- 'url' : document . location . href ,
692+ 'url' : TraceKit . getLocationHref ( ) ,
684693 'stack' : stack
685694 } ;
686695 }
@@ -737,7 +746,7 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() {
737746 return {
738747 'name' : ex . name ,
739748 'message' : ex . message ,
740- 'url' : document . location . href ,
749+ 'url' : TraceKit . getLocationHref ( ) ,
741750 'stack' : stack
742751 } ;
743752 }
@@ -847,7 +856,7 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() {
847856 return {
848857 'name' : ex . name ,
849858 'message' : lines [ 0 ] ,
850- 'url' : document . location . href ,
859+ 'url' : TraceKit . getLocationHref ( ) ,
851860 'stack' : stack
852861 } ;
853862 }
@@ -984,7 +993,7 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() {
984993 var result = {
985994 'name' : ex . name ,
986995 'message' : ex . message ,
987- 'url' : document . location . href ,
996+ 'url' : TraceKit . getLocationHref ( ) ,
988997 'stack' : stack
989998 } ;
990999 augmentStackTraceWithInitialElement ( result , ex . sourceURL || ex . fileName , ex . line || ex . lineNumber , ex . message || ex . description ) ;
@@ -1050,7 +1059,7 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() {
10501059 return {
10511060 'name' : ex . name ,
10521061 'message' : ex . message ,
1053- 'url' : document . location . href ,
1062+ 'url' : TraceKit . getLocationHref ( ) ,
10541063 } ;
10551064 }
10561065
0 commit comments