Предотвратите использование кнопки "Назад" (в IE)

Вы можете настроить функцию фильтра для итерации по «фильтру».

var arr = [1, 2, 3 ,4 ,5, 6, 7];
var filter = [4, 5, 6];

var filtered = arr.filter(
  function(val) {
    for (var i = 0; i < filter.length; i++) {
      if (val == filter[i]) {
        return false;
      }
    }
    return true;
  }
); 
12
задан Chris 26 September 2008 в 19:38
поделиться

11 ответов

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

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

кнопка "Назад" является частью их программного интерфейса, не Вашим веб-сайтом.

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

41
ответ дан 2 December 2019 в 02:55
поделиться

AS простое решение: попробуйте этого. Вставьте панель обновления и кнопку там и используйте JavaScript, чтобы скрыть его и затем нажать его на загрузке страницы. Да я понимаю, что это заставит Вашу страницу отправлять назад на загрузке и не может работать, если JavaScript будет отключен, но конечно поможет Вам достигнуть половины достойного ответа на проблему кнопки "Назад". Andy

0
ответ дан 2 December 2019 в 02:55
поделиться

Просто нет никакого надежного способа сделать это. Вы не можете гарантировать, что 100% времени можно мешать пользователю делать это.

, Имея это в виду, это стоящий движения в чрезвычайно экзотические решения отключить большую часть времени? Это - чтобы Вы решили.

Удача.

0
ответ дан 2 December 2019 в 02:55
поделиться

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

1
ответ дан 2 December 2019 в 02:55
поделиться

Отключение кнопки "Назад" кажется своего рода подходом "грубой силы".

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

1
ответ дан 2 December 2019 в 02:55
поделиться

Из-за изоляции безопасности JavaScript в браузере Вы не можете изменить то, что делает кнопка "Назад".

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

, Что, если пользователь закрывает их браузер, когда он получает итог, он комментирует страницу?

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

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

Или просто помещенный поле комментария на странице формы?

2
ответ дан 2 December 2019 в 02:55
поделиться

Вы могли переместить комментарий в предыдущую страницу и сделать это обязательным полем там?

Отключение кнопки "Назад" не будет работать.

2
ответ дан 2 December 2019 в 02:55
поделиться

У Вас есть доступ к исходному коду серверной стороны? Если так, можно поместить проверку на первой странице, которая перенаправляет к второй странице, если информация уже была отправлена (необходимо будет использовать сессии для этого, очевидно). В прежнем задании это - то, как мы обработали многоступенчатые приложения (приложение как в приложении для принятия).

3
ответ дан 2 December 2019 в 02:55
поделиться

Я видел это прежде:

window.onBack = history.forward();

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

Так, да, использование на Ваш собственный риск:)

4
ответ дан 2 December 2019 в 02:55
поделиться

Nah, Вы обречены. Даже если Вы раскрываетесь страница в некотором другом браузере и скрыли кнопку "Назад", всегда существует клавиша Backspace.

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

лучший способ обескуражить Ваших пользователей для удара кнопки "Назад" состоит в том, чтобы удостовериться, что страница проигрывает весь ее данные, когда они оттесняют, например, страница комментария является единственной точкой, где данные могут быть сохранены, и если они действительно нажимают кнопку "Назад", они должны сделать все снова и снова (думайте вроде прагмы: nocache).

Пользователи будут жаловаться, уверенные, но они - причина, что это заброшенное требование существует, правильно?

5
ответ дан 2 December 2019 в 02:55
поделиться

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

Тогда они не, вероятно, также достаточно умны к типу 'никакой комментарий' в поле комментариев.

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

2
ответ дан 2 December 2019 в 02:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: