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