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