HEX
Server: Apache
System: Windows NT MAGNETO-ARM 10.0 build 22000 (Windows 10) AMD64
User: Michel (0)
PHP: 7.4.7
Disabled: NONE
Upload Files
File: C:/Apache24/htdocs/wp-content/plugins/echo-knowledge-base/js/error-handlers.js
/** This file will show notice about js errors */
var errorsList = [];
var showNoticeTimeout = true;
var previousErrorHandler = window.onerror;
var jqueryChecked = false;

// create new errors handler - fires when an error occurs during object loading
window.onerror = function( errorMsg, url, lineNumber, columnNumber, errorObject ) {
	
	errorsList.push({ 'msg' : errorMsg, 'url' : url });

	if ( showNoticeTimeout ) {
		setTimeout(epkbShowErrorNotices, 2000);
		showNoticeTimeout = false;
	}

	// run previous errors handler if it exists
	if ( previousErrorHandler ) {
		return previousErrorHandler( errorMsg, url, lineNumber, columnNumber, errorObject );
	}
	
	// run default handler 
	return false;
};

function epkbShowErrorNotices() {
	
	// wait for jquery
	if ( typeof jQuery == 'undefined' || jQuery('.epkb-js-error-notice').length == 0 ) {
		setTimeout( epkbShowErrorNotices, 1000 );
		if ( jqueryChecked ) {
			return;	// prevent infinite loop
		}
		jqueryChecked = true;
		return;
	}
	
	// hide previous message 
	jQuery('.epkb-js-error-notice').hide('fast');

	let error;
	for (error of errorsList) {

		jQuery('.epkb-js-error-notice').find('.epkb-js-error-msg').text(error.msg);
		jQuery('.epkb-js-error-notice').find('.epkb-js-error-url').text(error.url);
		jQuery('.epkb-js-error-notice').show('fast');

		console.log();
	}

	jQuery('.epkb-js-error-close').click(function(){
		jQuery(this).closest('.epkb-js-error-notice').hide('fast');
	});
}