@@ -19,7 +19,7 @@ import {
19
19
EXTERNAL_LINK_REGEX ,
20
20
NOT_EXTERNAL_LINK_REGEX
21
21
} from '../../../../server/utils/fileUtils' ;
22
- import { startTag }
22
+ import { hijackConsoleErrorsScript , startTag }
23
23
from '../../../utils/consoleUtils' ;
24
24
25
25
class PreviewFrame extends React . Component {
@@ -67,7 +67,6 @@ class PreviewFrame extends React.Component {
67
67
68
68
componentWillUnmount ( ) {
69
69
window . removeEventListener ( 'message' , this . handleConsoleEvent ) ;
70
- ReactDOM . unmountComponentAtNode ( this . iframeElement . contentDocument . body ) ;
71
70
}
72
71
73
72
handleConsoleEvent ( messageEvent ) {
@@ -152,7 +151,8 @@ class PreviewFrame extends React.Component {
152
151
this . resolveStyles ( sketchDoc , resolvedFiles ) ;
153
152
154
153
const scriptsToInject = [
155
- loopProtectScript
154
+ loopProtectScript ,
155
+ hijackConsoleErrorsScript
156
156
] ;
157
157
const accessiblelib = sketchDoc . createElement ( 'script' ) ;
158
158
accessiblelib . setAttribute (
@@ -347,19 +347,6 @@ class PreviewFrame extends React.Component {
347
347
consoleBuffer . length = 0 ;
348
348
}
349
349
} , LOGWAIT ) ;
350
-
351
- // catch reference errors, via http://stackoverflow.com/a/12747364/2994108
352
- window . onerror = function ( msg , url , lineNumber , columnNo , error ) {
353
- // const string = msg.toLowerCase();
354
- // const substring = 'script error';
355
- let data = msg + ' (' + 'sketch' + ': line ' + lineNumber + ')' ; // eslint-disable-line
356
- window . parent . postMessage ( [ {
357
- method : 'error' ,
358
- arguments : data ,
359
- source : lineNumber // eslint-disable-line
360
- } ] , '*' ) ;
361
- return false ;
362
- } ;
363
350
}
364
351
}
365
352
</ FrameContextConsumer >
0 commit comments