Как очистить историю браузеров (IE, Firefox, Opera, Chrome), используя JavaScript или Java, кроме самого браузера? - PullRequest
7 голосов
/ 03 февраля 2010

Как очистить историю браузеров (IE, Firefox, Opera, Chrome), используя JavaScript или Java, кроме очистки из самого браузера?

Ответы [ 4 ]

14 голосов
/ 04 февраля 2010

Данные document.location в браузерах, как правило, недоступны для сценариев, поскольку предоставление доступа даст любому сайту доступ ко всей истории посещенных страниц. Самое большее, вы можете сделать несколько простых манипуляций, таких как «перейти к записи в истории № 37» или «вернуться на одну страницу». Но вы не можете сделать «какой был адрес страницы в истории № 23».

Большинство банковских сайтов используют ссылки javascript для предотвращения создания истории кликов. Они будут делать document.location.replace ", чтобы убить последнюю запись истории (текущую страницу) и заменить ее адресом новой страницы. Это фактически удаляет опцию" назад ", чтобы вернуться назад на страницу, поскольку предыдущая страница (что касается истории просмотра) теперь является новой страницей.

2 голосов
/ 03 февраля 2010

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

1 голос
/ 03 июля 2016

Браузер не позволит вам очистить кеш. Это было бы огромной проблемой безопасности, если бы это было возможно

Что вы можете сделать, это запретить кэшировать вашу страницу, отправив соответствующие заголовки или используя следующие метатеги:

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

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

Использование SSL также приводит к тому, что некоторые браузеры не используют кэширование без явного указания. См. Этот вопрос. Будет ли веб-браузер кэшировать содержимое через https

0 голосов
/ 08 июня 2017

Но если вы хотите очистить реальную страницу, вы можете использовать:

$(function () {
//replace() does not keep the originating page in the session history,
document.location.replace("/Exercises#nocache"); // clear the last entry in the history and redirect to new url
});
Это используется некоторыми банковскими сторонами
...