@stoik_kpd

Как узнать какие файлы не были найдены (404 ошибка)?

Добрый вечер.
Подскажите пожалуйста на JS или на JQuery как получить список файлов, которые не были найдены после загрузки страницы?
Нужно отследить такие файлы и в фоновом режиме загрузить на сервер, т.к. они точно есть на другом домене
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
@totosarg
Проверял? Проверял. Работает? Работает. Не трогай!
Вот, локально попробовал, можно получить то что вам нужно примерно так:

<html>
<head>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
	<script>
	$(function() {
		window.addEventListener('error', function(e) {
    		//console.log(e.srcElement.tagName);
    		if (e.srcElement.tagName == "IMG") {
    			console.log(e.srcElement.currentSrc);
    			// Tут делайте что нибудь с полученным значением пути от файла, например замените его, или
    			// отправте аjax запрос, я хз что вам надо :)
    		}
		}, true);
	});
	</script
</head>
<body>
	<img src="http://www.google.com/blah.jpg" />
	<img src="http://www.google.com/blah2.jpg" />
	<img src="http://www.google.com/blah3.jpg" />
</body>
</html>


Создайте html файл, хоть на рабочем столе, откройте в браузере и получите результат. Пробовал в хроме.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AntoXa_ZiMM
I just write code and do not know English
Вариантов много, зависит от твоей системы, но если общее решение, то я бы делал так:
  1. добавить в javascript код глобальный обработчик события error объекта window, что-то типа:
    window.addEventListener('error', function(e) {
        console.log(e);
    }, true);

    взято с link, может найдешь еще что-то полеззное в ответе

  2. определеить какая именно ошибка (404 или что-то другое, что меня не интересует)
  3. куда-то отправить эту информацию (зависит от того логируются ошибки клиента на севере, используется
    какая-то систему для логирования типа loggly)
  4. анализировать результаты из прошлого пункта и добавлять файлы

Почему проблем взять ARAXIS MERGE и сравнить файлы на двух доменах в папках с сайтом? Программа позволяет построить разницу и скопировать файлы из одной папки в другую одним-двумя нажатием кнопки
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы