@razrab228
html, люблю больше php.

Как показывать ошибки в div?

Я создал страницу, на которой есть div="Возникла ошибка на строчке (номер строчки): (сама ошибка)". Как показывать этот div, если возникла ошибка, искал много где: нигде не нашёл. Надеюсь вы сможете мне помочь <З
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
john36allTa
@john36allTa
alien glow of a dirty mind
<html>
	<head>
		<script>

			function main(){
				a = b;
			}

			window.addEventListener('load', function(){
				try { 
					main() 
				} catch (e){
					proceedException(e)
				}
			})
		</script>

		<script src="file.js">
		</script>
	</head>
	<body>
		<div id="error">
		</div>
	</body>
</html>

file.js
function parseStackTrace(stacktrace){
	let [_, functionName, fileName, row, __, column] = stacktrace.match(/at\s([^\s]+)\s\((.+?):(\d+)(:(\d+))?\)/)
	return [functionName, fileName, row, column]
}

function proceedException(exception){
	let [fn, file, row, column] = parseStackTrace(exception.stack),
		node = document.createElement('p');
	node.innerText = `Ошибка в файле: ${file}, функция <${fn}> на строке ${row}${column ? '(' + column + ' символ)' : ''} ${exception}`;
	document.querySelector('#error').appendChild(node);
}

function helper(){
	let c = 1, a = b;
}

function onload(){
	helper();
}

window.addEventListener('load', function(){
	try { 
		onload() 
	} catch (e){
		proceedException(e)
	}
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Senior .NET developer
К диву примените класс display:none
Дальше чем вы там пользуетесь удаляйте этот класс или добавляйте к этому диву. Дойду до дома накидаю скетч
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы