forked from segment-boneyard/nightmare
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpreload.js
46 lines (39 loc) · 1.37 KB
/
preload.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
window.__nightmare = {};
__nightmare.ipc = require('electron').ipcRenderer;
__nightmare.sliced = require('sliced');
// Listen for error events
window.addEventListener('error', function(e) {
__nightmare.ipc.send('page', 'error', e.message, e.error.stack);
});
(function(){
// listen for console.log
var defaultLog = console.log;
console.log = function() {
__nightmare.ipc.send('console', 'log', __nightmare.sliced(arguments));
return defaultLog.apply(this, arguments);
};
// listen for console.warn
var defaultWarn = console.warn;
console.warn = function() {
__nightmare.ipc.send('console', 'warn', __nightmare.sliced(arguments));
return defaultWarn.apply(this, arguments);
};
// listen for console.error
var defaultError = console.error;
console.error = function() {
__nightmare.ipc.send('console', 'error', __nightmare.sliced(arguments));
return defaultError.apply(this, arguments);
};
// overwrite the default alert
window.alert = function(message){
__nightmare.ipc.send('page', 'alert', message);
};
// overwrite the default prompt
window.prompt = function(message, defaultResponse){
__nightmare.ipc.send('page', 'prompt', message, defaultResponse);
}
// overwrite the default confirm
window.confirm = function(message, defaultResponse){
__nightmare.ipc.send('page', 'confirm', message, defaultResponse);
}
})()