Открыть меню    

Возможность быстро, завуалировано покинуть сайт

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

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

go, покинуть сайт Первое, что мне пришло в голову это реализовать следующий вопрос: можно ли по клику на кнопке закрыть окно браузера? Есть метод window.close(), возможно, это сработает?

HTML


<button onclick="window.close();">Close Window</button>

Нет. Мы не можем рассчитывать на данный метод. Этим мы закроем окно, которое было открыто при помощи javascript, это не типично для большинства веб-сайтов.

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

Простым и одновременно менее подозрительным будет переадресовывать страницу на что-либо глобальное и позитивное, например, на сайт о погоде. Еще одно преимущество данного метода в том, что он будет работать в любом браузере.

HTML


<button onclick="window.location = 'http://weather.com';">Go</button>

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

Отделим javascript от html, приблизительно получится следующее:

HTML


<button id="get-away">Go</button>

JQuery


$("#get-away").on("click", function() {
  window.open("http://weather.com", "_newtab");
});

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

JQuery


$("#get-away").on("click", function() {
  window.open("http://weather.com", "_newtab");
  window.location.replace('http://google.com');
});

Заменив url оригинальной страницы, вы не создадите новую историю в браузере для оригинальной вкладки. Таким образом, кликнув по кнопке назад, вы перейдете к предыдущей странице. Возможно, на оригинальной странице следует воспользоваться возможностями AJAX, которые позволяют предотвратить сохранение истории в браузере. Насколько мне известно, нет никакого способа очистить историю браузера посредством одного javascript.

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

Думаю, стоит создать большую, фиксированную, броскую кнопку. Мудрый дизайн.

большая кнопка покинуть сайт

Это будет большой фиксированный брусок с максимально возможной шириной. Зафиксируем кнопку снизу. Слово "Go" простое, описательное и интуитивно понятное. Зеленый цвет и слово "Go" не вызывают ощущение опасности, тревоги.

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

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

Так как мы совершаем два одинаковых действие, но различными способами (клик, клавиши), то, чтобы не дублировать код, следует создать функцию.

JQuery


function getAway() {
  // Get away right now
  window.open("http://weather.com", "_newtab");
  // Replace current site with another benign site
  window.location.replace('http://google.com');
}

$(function() {

  $("#get-away").on("click", function(e) {
    getAway();
  });

  $("#get-away a").on("click", function(e) {
    // allow the (?) link to work
    e.stopPropagation();
  });

  $(document).keyup(function(e) {
    if (e.keyCode == 27) { // escape key
      getAway();
    }
  });

});

Скрипт, выполняющийся при нажатии клавиши ESCAPE, работает идентично в Chrome и Opera. В safari вкладка открывается в новом окне. Firefox заменяет текущую страницу и блокирует всплывающее окно по умолчанию, если на сайте явно не разрешены всплывающие окна.

Оставляйте комментарии, если у вас будут другие идеи по завуалированному покиданию сайта.

Источник

Комментарии к статье

Добавить комментарий

картонные коробки для переезда в леруа мерлен купить;ювелирная мастерская спб партизана германа