🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →

show-js-error

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

show-js-error - npm Package Compare versions

Comparing version

to
1.3.0

@@ -29,3 +29,13 @@ /*! show-js-error | © 2016 Denis Seleznev | MIT License */

this._onerror = function(e) {
that._buffer.push(e);
var error = e;
if (!e.bubbles && e.target && e.target.tagName) {
if (that.settings.errorLoading) {
error = that._errorLoading(e);
} else {
return;
}
}
that._buffer.push(error);
if (that._isLast) {

@@ -39,3 +49,3 @@ that._i = that._buffer.length - 1;

if (window.addEventListener) {
window.addEventListener('error', this._onerror, false);
window.addEventListener('error', this._onerror, true);
} else {

@@ -346,12 +356,43 @@ var oldOnError = window.onerror;

},
_errorLoading: function(e) {
var tagName = (e.target.tagName || '').toLowerCase(),
preparedTagName = {
img: 'image',
link: 'css'
}[tagName];
return {
title: 'Error loading',
message: 'Error loading ' + (preparedTagName || tagName),
filename: e.target.src || e.target.href
};
},
_getDetailedMessage: function(err) {
return [
'Title: ' + (err.title || this._getTitle()),
'Message: ' + this._getMessage(err),
'Filename: ' + this._getFilenameWithPosition(err),
'Stack: ' + this._getStack(err),
'Page url: ' + window.location.href,
'Refferer: ' + document.referrer,
'User-agent: ' + (this.settings.userAgent || navigator.userAgent)
].join('\n');
var settings = this.settings,
screen = typeof window.screen === 'object' ? window.screen : {},
orientation = screen.orientation || screen.mozOrientation || screen.msOrientation || '',
props = [
['Title', err.title || this._getTitle()],
['Message', this._getMessage(err)],
['Filename', this._getFilenameWithPosition(err)],
['Stack', this._getStack(err)],
['Page url', window.location.href],
['Refferer', document.referrer],
['User-agent', settings.userAgent || navigator.userAgent],
['Screen size', [screen.width, screen.height, screen.colorDepth].join('×')],
['Screen orientation', typeof orientation === 'string' ? orientation : orientation.type],
['Cookie enabled', navigator.cookieEnabled]
];
var text = '';
for (var i = 0; i < props.length; i++) {
var item = props[i];
text += item[0] + ': ' + item[1] + '\n';
}
if (settings.templateDetailedMessage) {
text = settings.templateDetailedMessage.replace(/\{message\}/, text);
}
return text;
},

@@ -371,7 +412,11 @@ _getExtFilename: function(e) {

_getFilenameWithPosition: function(e) {
return e.filename ?
e.filename +
':' + this._get(e.lineno, '') +
':' + this._get(e.colno, '')
: '';
var text = e.filename || '';
if (typeof e.lineno !== 'undefined') {
text += ':' + this._get(e.lineno, '');
if (typeof e.colno !== 'undefined') {
text += ':' + this._get(e.colno, '');
}
}
return text;
},

@@ -378,0 +423,0 @@ _getMessage: function(e) {

@@ -29,3 +29,13 @@ /*! show-js-error | © 2016 Denis Seleznev | MIT License */

this._onerror = function(e) {
that._buffer.push(e);
var error = e;
if (!e.bubbles && e.target && e.target.tagName) {
if (that.settings.errorLoading) {
error = that._errorLoading(e);
} else {
return;
}
}
that._buffer.push(error);
if (that._isLast) {

@@ -39,3 +49,3 @@ that._i = that._buffer.length - 1;

if (window.addEventListener) {
window.addEventListener('error', this._onerror, false);
window.addEventListener('error', this._onerror, true);
} else {

@@ -346,12 +356,43 @@ var oldOnError = window.onerror;

},
_errorLoading: function(e) {
var tagName = (e.target.tagName || '').toLowerCase(),
preparedTagName = {
img: 'image',
link: 'css'
}[tagName];
return {
title: 'Error loading',
message: 'Error loading ' + (preparedTagName || tagName),
filename: e.target.src || e.target.href
};
},
_getDetailedMessage: function(err) {
return [
'Title: ' + (err.title || this._getTitle()),
'Message: ' + this._getMessage(err),
'Filename: ' + this._getFilenameWithPosition(err),
'Stack: ' + this._getStack(err),
'Page url: ' + window.location.href,
'Refferer: ' + document.referrer,
'User-agent: ' + (this.settings.userAgent || navigator.userAgent)
].join('\n');
var settings = this.settings,
screen = typeof window.screen === 'object' ? window.screen : {},
orientation = screen.orientation || screen.mozOrientation || screen.msOrientation || '',
props = [
['Title', err.title || this._getTitle()],
['Message', this._getMessage(err)],
['Filename', this._getFilenameWithPosition(err)],
['Stack', this._getStack(err)],
['Page url', window.location.href],
['Refferer', document.referrer],
['User-agent', settings.userAgent || navigator.userAgent],
['Screen size', [screen.width, screen.height, screen.colorDepth].join('×')],
['Screen orientation', typeof orientation === 'string' ? orientation : orientation.type],
['Cookie enabled', navigator.cookieEnabled]
];
var text = '';
for (var i = 0; i < props.length; i++) {
var item = props[i];
text += item[0] + ': ' + item[1] + '\n';
}
if (settings.templateDetailedMessage) {
text = settings.templateDetailedMessage.replace(/\{message\}/, text);
}
return text;
},

@@ -371,7 +412,11 @@ _getExtFilename: function(e) {

_getFilenameWithPosition: function(e) {
return e.filename ?
e.filename +
':' + this._get(e.lineno, '') +
':' + this._get(e.colno, '')
: '';
var text = e.filename || '';
if (typeof e.lineno !== 'undefined') {
text += ':' + this._get(e.lineno, '');
if (typeof e.colno !== 'undefined') {
text += ':' + this._get(e.colno, '');
}
}
return text;
},

@@ -378,0 +423,0 @@ _getMessage: function(e) {

{
"name": "show-js-error",
"description": "Show a message about a js error in any browser",
"version": "1.2.0",
"version": "1.3.0",
"author": {

@@ -6,0 +6,0 @@ "name": "Denis Seleznev",