window.location = self.location;
Этот JavaScript выполняется .
Когда он выполняется, браузеру предлагается заменить значение window.location новым значением. Не все браузеры будут реагировать одинаково здесь .. Некоторые из них, вероятно, будут работать так, как вы ожидаете, но другие проявят смекалку и сравнят два значения. Браузер знает на какой странице он находится, и он знает, что вы просто просите его перейти на ту же страницу.
Кэш браузера
В браузере даже есть копия вашей текущей страницы в кэше . Он может поговорить с сервером и спросить, действительна ли его страница в кеше. Если кеш действителен, он может решить не вызывать перезагрузку страницы. За кулисами это происходит с заголовками HTTP. Браузеры и серверы могут общаться по HTTP разными способами. В этом случае ваш браузер отправляет быстрый запрос на сервер, говоря что-то вроде этого:
GET /stackoverflow.com/posts/196643/index.html
HTTP/1.1
Host: www.stackoverflow.com
User-Agent: Mozilla/5.0
If-Modified-Since: Sun, 12 Oct 2008 20:41:31 GMT
Это называется условным запросом GET . Сказав If-Modified-Since , ваш браузер говорит: «Дайте мне этот файл, но только если он был изменен с момента моего последнего просмотра».
Короче говоря, вы явно не сказали браузеру перезагрузить страницу.
Вот как вы можете:
location.reload( true );
«true» - это необязательный параметр , для принудительная перезагрузка . Браузер даже не смотрит на кеш. Он просто делает, как вы говорите.