Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Написать JavaScript-сценарий перехватывающий событие в popup (https://javascript.ru/forum/job/60338-napisat-javascript-scenarijj-perekhvatyvayushhijj-sobytie-v-popup.html)

cmd 23.12.2015 12:22

Написать JavaScript-сценарий перехватывающий событие в popup
 
Приветы.

Таск

Коротко: Написать JavaScript-сценарий перехватывающий событие в popup.

Подробно:

Открываем окно

window.share_window = window.open('https://www.facebook.com/sharer/sharer.php?u=http://javascript.ru', 'status=0,toolbar=0');


После этого необходимо перехватить нажатие <button type="submit">. На всякий случай поясню: выполнить console.log('OK') после того как пользователь нажал на этот самый submit.

Кроссбраузерность: IE9+, FF, Opera, Chrome, Safari.

С Вас цена вопроса. Если 10 USD, то выплачу первому кто ответит в теме.

P.S. Если сильно хочется, то можно через гаранта оформить.

Deff 23.12.2015 14:02

cmd,
Собственно метода:
В Popup открываете страницу Вашего сайта, пропущенную через линейный анонимайзер этот http://anonymouse.org/ или этот http://webwarper.net/. На этой странице ставите полноразмерный фрейм с https://www.facebook.com/ с регулируемой высотой от высоты страницы.
Там же, на Вашей странице, ставите скрипт, отслеживающий события во фрейме с facebook.com, посколь в такой конфигурации они вроде как на одном домене... PS:Линейные анонимайзеры, - это те, которые позволяют составлять ссылку простой добавкой впереди ссылки анонимайзера без кодирования Вашей ссылки на сайт;
Хотя, если эти два домена (свой и открываемый во фрейме фиксированы) мон использовать и нелинейные анонимайзеры, но ток те, которые кодируют только домен, не затрагивая подпапки

cmd 23.12.2015 15:19

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

P.S. А может и смогу. Высплюсь и завтра попробую. Отпишу в теме :)

Deff 23.12.2015 15:36

cmd,
А нафег Вам авторизация в Popup ?
Передать данные со страницы в анонимайзере, на страницу основной вкладки с авторизацией, мон так:
На странице в анонимайзере вставить cкриптом скрытый фрейм (position:absolute;z-index:-100) на спецально созданную страницу своего сайта(без контента в body, ток со своими скриптами) без анонимайзерa. В name=" фрейма при этом вставить при создании фрейма Ваши передаваемые данные.
Страница во фрейме считывает window.name и передаёт их(данные) в документ window.top;

Передать данные в Popup на Ваш сайт в анонимайзере мон аналогично, прописав в их в winName
Мон к примеру передать скрипт обработки для текущей страницы facebook (Данные со спец символами при вставке кодируем encodeURIComponent)

Мон просто отправить форму со страницы анонимайзера(или c главной) на серв, а с серва мон считайть Аяксом на главной странице (или страницы в Popup)
Мон обмен между окнами Вашего сайта(с анонимайзером и без) оформить и через http://javascript.ru/ajax/cross-orig...5:-postmessage
Недостатки - анонимайзеры иногда ставят на профилактику до нескольких часов, мон пользоваться двумя тремя анонимайзерами, - тестируем ссылки, если не работает, подключаем через следующий (я использую обычно свой собственный прокси)
==================
Да, в facebook будут проблемы с авторизацией, но в принципе пользователь может выполнить новый вход
И да, без проксирования(а занчит повторной авторизации) задача нерешаема, если на фейсбуке произвольного(?) юзера нельзя вставить свой скрипт, если можно, то опять жа обмен мон сделать через postmessage без анонимайзеров


Часовой пояс GMT +3, время: 17:28.