Я использую window.onback = history.forward (); чтобы пользователи не могли повторно отправлять данные. Я знаю, что это взлом, и мне это тоже не нравится, но вопрос не об этом. Проблема в том, что код не позволяет другим страницам вернуться на страницу с кодом. Позвольте мне уточнить.
PageA.aspx содержит код JavaScript. Пользователь отправляет страницу A, нажимает Back, и ничего не происходит. Это хорошо. Теперь пользователь щелкает ссылку на PageB.aspx, код которой есть в нет. Когда пользователь нажимает кнопку «Назад», которая должна перейти на страницу PageA.aspx, этого не происходит. Он ведет себя так же, как если бы у PageB был код JavaScript без возврата назад.
Вот как я реализовал это в PageA.aspx:
<script type = "text/javascript">
window.onback = history.forward();
</script>
Я подтвердил, что этот код находится только в PageA.aspx, а не в мастере, включениях или чем-либо еще. Это приложение ASP.NET 2.0, работающее в SharePoint 2007. Используется браузер IE7.
Есть идеи?





У меня нет времени (или SharePoint07) воспроизвести вашу среду и сценарий, но что, если вы поместите тест местоположения в JavaScript?
Что-то вроде этого:
<script type = "text/javascript">
if (window.location.indexOf("PageA.aspx", 0) > 0)
{
window.onback = history.forward();
}
</script>
Я не могу объяснить, что происходит, но это должно помочь ограничить возможности взлома.