2

Мы все знаем, что мы не можем запутать HTML или Javascript. Мы должны помнить, что если браузер может читать его, пользователь должен иметь возможность читать его тоже.

Поэтому почему иногда, когда мы загружаем сайт локально, он не работает должным образом? Это особенно верно с Javascript. Если браузер может отображать его правильно, почему он ломается, когда хранится локально? Короче говоря, что заставляет его работать локально иначе, чем в браузере?

Спасибо!

РЕДАКТИРОВАТЬ

Чтобы привести пример, я пытался скачать этот сайт:

https://www.mashape.com/howitworks

Чтобы увидеть, как они сделали анимацию, однако анимация не работает локально.

6 ответов6

8

Сайт не предназначен для скачивания. При этом очень часто зависимости повреждаются, ссылки на файлы сценариев не работают, изображения отсутствуют.

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

2

Часто это происходит потому, что ссылки в коде HTML и / или JavaScript, включая CSS и т.д., Все еще ссылаются на веб-сайт, а не на локально загруженные файлы. Вам нужно будет просмотреть все файлы и обновить любые ссылки, чтобы они ссылались на локальные файлы, а не на исходный сайт. Кроме того, некоторые части сайта могут быть загружены динамически, т. Е. Фактически отображаемая разметка отличается от разметки, изначально загруженной браузером. Когда вы "сохраняете" файлы из браузера, он, скорее всего, сохраняет ответ на исходный запрос, а не текущую объектную модель документа, отражающую то, что отображается в браузере.

1

Если вы загружаете веб-страницу, вы не обязательно загружаете связанные файлы, например изображения, CSS, Javascript. Даже если они у вас есть, вам придется изменить ссылки на них или разместить их в нужных местах, чтобы они могли работать. «/mycss.css» должен находиться в главной папке «mycss.css» должен находиться в той же папке, что и текущая страница, и т. д.

1

Если вы хотите загрузить весь веб-сайт (или его часть), воспользуйтесь HTTrack. Он загрузит сайт или часть сайта и изменит все зависимости для локальной работы по мере необходимости.

http://www.httrack.com/

1

Причины:

  • Динамические страницы - иногда URL дает не файл, а вывод программы, которая запускается на сервере. Эта программа может возвращать разные результаты каждый раз.

  • Javascript - точные URL-адреса, к которым может получить доступ страница, не будут известны, пока не будет выполнен весь Javascript, и, в зависимости от событий, которые его запускают, возможно, что некоторый Javascript на странице никогда не будет выполнен или будет выполняться только в определенное время и т.д. ,

  • Фильтрация по IP-адресу и т.д. - иногда веб-сервер может выдавать вам разные данные для одного и того же URL-адреса на основе некоторого атрибута, например вашего IP-адреса и т.д.

Чисто статические сайты без обработки на сервере всегда должны быть доступны для загрузки с помощью такого инструмента, как wget , но такие типы сайтов встречаются все реже.

0

Щелкните правой кнопкой мыши -> Просмотр источника -> Нажмите на все файлы js/css, сохраните их. Убедитесь, что вы ссылаетесь на файлы на вашем компьютере.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .