Вот если например взять любую ссылку и открыть ее в новом окне, то новой странице передастся refer(r)er. Оказывается, [...] передастся еще и объект window.opener указывающий на предыдущую страницу. Делать с объектом особенно ничего нельзя, поскольку живет он на другом сайте, кроме одного: можно перенаправлять на другой адрес. Вот так:
if (window.opener) {
window.opener.location = 'http://some.other.site/';
}Какого хрена эту возможность вставили, я не знаю, хороших применений я тут придумать не могу. А негативное пожалста: берешь сайт типа ЖЖ, Эвернота или веб-почты, желательно с часто слетающей авторизацией, постишь туда ссылку на свой злой сайт. На злом сайте какие-нить котики для отвлечения внимания, и джаваскрипт, перенаправляющий исходный сайт на фейковую страницу авторизации. Посмотрит пользователь котиков, вернется домой, поцокает языком да и, глядишь, попробует назад залогиниться...
Обсуждаемое
РБК предупредил о неслучайности проблем доступа к Youtube из сетей мобильных операторов — сервис полностью забанят в декабре 3 Роскомнадзор перепишет пользователей, занимающихся спуфингом ТСПУ 1 «Яндексу» можно будет пожаловаться на дорогое такси 1 Закрытие «Большой российской энциклопедии» оформили через полтора года после запуска — Ruwiki станет её наследником РБК залил вином пустоты, образовавшиеся после ухода иностранных брендов
Добавить 4 комментария
В рот мне ноги!
Что-то я не понял, что такое «вернется домой». Это же новое окно — если его закрыть, ничего не произойдет; истории у него нет, кнопка «Назад» работать не будет.
В чем проблема?
Там же по ссылке есть работающий пример. Вернется домой — переключится обратно в изначальный таб.
А, дошло. Не «передается объект», а «передается ссылка на объект».
Ну, в принципе, понятно зачем так сделано — чтобы можно было ваять «диалоги», ввод какой-нибудь доп информации в новом окне (понятно, что это все возникло до того, как CSS/javascript развилось в то, во что оно превратилось сейчас).