Mohd Imran Saifi Ответов: 3

Как удалить историю из браузера при выходе из системы


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

Может ли кто-нибудь сказать мне, как удалить историю при выходе из системы с помощью asp.net.

Спасибо,

3 Ответов

Рейтинг:
25

Sandeep Mewara

Взгляните на этот совет, он должен помочь: Проблема с кнопкой возврата браузера после выхода из системы[^]


Mohd Imran Saifi

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

Sandeep Mewara

Вы все прочитали/перепробовали? Один из вариантов на подсказке отключит кнопку Назад... даже не позволяя пользователю нажать кнопку Назад.

bbirajdar

Сандип.. Я не мог поверить, что код, запущенный в песочнице браузера, может отключить кнопки браузера. Так что я попробовал сам.. Кнопка "Назад" не отключается с помощью этого кода.. И, насколько мне известно, он не может быть отключен ..

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

Sandeep Mewara

// Код отключает кэширование браузером. Поэтому кнопка "Назад" браузера стала серой (как будто отключена)
Ответ.Кэш.SetCacheability(HttpCacheability.NoCache);
Ответ.Кэш.SetExpires(DateTime.UtcNow.AddHours(-1));
Ответ.Кэш.Сетностор();

bbirajdar

Я категорически не согласен.. Я тестировал его в IE 9, и он не "сереет"..Он все еще синий и может быть нажат

Sandeep Mewara

Хорошо. Тогда я проверю в IE9. Все было так, как и ожидалось до IE8.

Mohd Imran Saifi

ты можешь дать мне соль? о проблеме.
я хочу очистить историю и кэш при выходе из системы.

bbirajdar

Дорогой Мохд.. Ваше требование неверно. Любой код, выполняемый в браузере, имеет очень ограниченный доступ к машине пользователя, например, создание файлов cookie и т. д. Как неотъемлемая часть веб-безопасности, ни один браузер не позволяет коду, выполняемому внутри браузера, получить доступ к файлам на компьютере пользователя. Поскольку история хранится на компьютере пользователя, даже если вы пишете код на C# или javascript или что-то еще, он не получит доступа к файловой системе пользователя и не сможет удалить файлы истории.

Ребята , поправьте меня, если я ошибаюсь.

Для решения проблемы с кэшем вы можете использовать приведенный выше код. Это сработает

Mohd Imran Saifi

Дорогой сэр, мне нравится, как вы объяснили.
как я вижу в gmail, когда пользователь находится в приложении, он может перемещаться назад и назад, но когда пользователь выходит из системы, он не будет делать этого обратно.

Я хочу, чтобы что-то подобное было в моем веб-приложении. вышеупомянутый код, упомянутый Мистером Сандипом Меварой, отключит кэш.
я хочу что-то, что останавливает пользователя, чтобы вернуться назад. как в gmail.
Пожалуйста, помогите мне и поправьте, если я ошибаюсь.
Спасибо.

Sandeep Mewara

Правильный. Файлы истории не могут быть удалены в контексте, который мы обсуждаем здесь.

Однако можно вручную пойти и удалить его ;)

Mohd Imran Saifi

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

Mohd Imran Saifi

Уважаемый Сандип сэр, я использую этот код в firefox 12.0, chrome и IE9. Это только очистит кэш, но кнопка возврата браузера не отключена.
я использую этот код на странице моей главной страницы.

Mohd Imran Saifi

Но я хочу очистить историю и кэш при выходе из системы.

Sandeep Mewara

:до:
Делай, как хочешь. Если бы вы прошли через весь совет и попробовали их, к этому времени все было бы решено.

Рейтинг:
0

bhagirathimfs

Напишите эти ссылки, чтобы очистить сеанс на странице cs.

Session.Abandon();
        Session.Contents.RemoveAll();
        FormsAuthentication.SignOut();

и напишите на странице aspx
<script type="text/javascript" >        history.forward();
    </script>


этот код очистит всю историю сеанса и браузера, так что кнопка Назад браузера не будет работать.


Mohd Imran Saifi

javascript не поможет

bhagirathimfs

извините, что не расслышал вашего вопроса.. :(

Mohd Imran Saifi

я имею в виду :-
<script type="text/javascript" mode="hold" /> history.forward();
</script>
этот код не работает.

bhagirathimfs

исключая то, что ваше требование выполнено?

bhagirathimfs

Удалить 'mode="hold" /'

Рейтинг:
0

Yatin chauhan

попробовать это :-

Begin the new script by entering in the following computer language code:

protected void logout()

{

This code tells the computer to initiate this code anytime the Web browser is closed.


Create the following code immediately under the code listed in Step 1:

session.abandon();

string nextpage="logout.aspx";

response.write (<script language=javascript>);


Type directly under the code provided in Step 3 the following language:

response.write (var backlen= history.length;);

response.write (window.location.href=' +nextpage+ ';);


Enter the code below to conclude the programming of your automatic history-clearing program:

response.write (</script>)

}


Mohd Imran Saifi

какова цель: response.write (var backlen= history.length;);
он просто сохранит длину истории в переменной backlen. но теперь есть код удаления для истории.

Yatin chauhan

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