Найдите недостающие элементы Javascript на веб-сайте

StackOverflow https://stackoverflow.com/questions/57238

  •  09-06-2019
  •  | 
  •  

Вопрос

Скажем, у меня есть несколько включений JavaScript на странице:

<script type="text/javascript" src="/js/script0.js"></script>
<script type="text/javascript" src="/js/script1.js"></script>
<script type="text/javascript" src="/js/script2.js"></script>
<script type="text/javascript" src="/js/script3.js"></script>
<script type="text/javascript" src="/js/script4.js"></script>

Есть ли способ узнать, не был ли какой-либо из них найден (404), без необходимости проверять каждый из них вручную?Думаю, я ищу онлайн-инструмент или что-то подобное.Есть идеи?

Это было полезно?

Решение

Если вы получите поджигатель плагин Firefox и включите консоли, которые он должен сообщать вам, когда возникают ошибки при получении ресурсов в консоли.

Другие советы

Я не настолько пользуюсь другими браузерами, чтобы знать, где найти в них подобную функцию, но в Safari есть Активность окно, в котором отображаются все включенные файлы для данной веб-страницы и файлы, которые не удалось получить.

Если вы хотите осуществлять мониторинг на лету, не проверяя фактическое его существование, я предлагаю размещать динамические переменные внутри файлов.Тогда просто сделайте что-то вроде этого:

var script0Exists = true; // inside script0.js
var script1Exists = true; // inside script1.js

Затем в других файлах просто используйте:

if ( script0Exists ) {
    // not a 404 - it exists
}

Зарегистрируйте свои 404.

Если вы не хотите проверять это вручную на клиенте, вам придется сделать это на стороне сервера.Вам необходимо убедиться, что используемый вами веб-сервер настроен для регистрации ошибок 404, а затем проверить этот журнал, чтобы узнать, какие HTTP-запросы не были выполнены.

Если ваш веб-хост всегда возвращает результат HTTP «200 OK», независимо от того, существует файл или нет (последний должен выдать «404 не найден»), браузер не сможет определить, получил ли он скрипт или нет.

Вы можете попробовать получить файлы через XMLHttpRequest, проверить данные и, если они выглядят как JS, либо выполнить их eval(), либо создать тег сценария, указывающий на тот же URL-адрес, который вы скачали (если сценарий кэшируется, он не будет быть перенесено еще раз, так как оно уже есть в браузере).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top