![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Возникла необходимость создать скриптик, который предварительно показывает рекламную страницу, а затем уже после ее полной загрузки, показывает ссылку на скачивание файла.
Как это работает смотрим здесь: http://blackmedia.ru/work/page.php На странице вы видите две ссылки. Нажмите на вторую ссылку и вы увидите как скрипт должен работать. Это будет работать в IE 6.0, Opera v8 и выше , Firefox v1 и выше Но вот первая ссылка будет корректно работать только в браузере Opera В браузере FireFox первая ссылка покажет ссылку на файл, но вот в новом окне всплывающего окна не будет. А в браузере IE вообще ничего не произойдет после перехода по первой ссылке. Почему? Видимо потому что, по первой ссылке происходит переход на http://yandex.ru/, который в своём исходном HTML-коде содержит следующий занятный JavaScript-код:
Этот код, как вы уже поняли, разрушает все iframe (фреймы), если сайт в них был открыт. Но я использую именно iframe в своем скрипте для показа нужной страницы. Почему? Потому что надо как-то отследить полную загрузку страницы (а отследить загрузку страницы в iframe не составляет труда, используем onload) и затем уже в родительское окно отправить команду на показ ссылки. Хотелось бы спросить, может кто-нибудь придумает, как же все-таки заставить открыть ссылку на сайт, который содержит код, который разрушает все iframe, если он был в них открыт и после этого показать ссылку на файл? То есть заставить браузеры IE и FireFox вести себя также как и браузер Opera при нажатии на первую ссылку. P.S. : пытаюсь использовать событие onunload у тега body, чтобы отследить, что начинается разрушение iframe и переброс на url открываемого сайта, но это, видимо, работает только в браузере Opera. Зачем это надо? Для показа рекламы на сайте с файловым архивом. То есть сначала смотрим рекламу, а затем получаем ссылку на скачивание файла. Вообщем, если в двух словах: - как запретить сайтам разрушать iframe или же, если происходит разрушение iframe, как успеть отправить в родительское окно команду на запуск функции до того момента, как загрузится в браузер url сайта, который мы открывали в iframe. Но что-то мне кажется, что сделать что-либо невозможно! Возможно, кто-то придумает другую реализацию данного скрипта без использования фреймов? -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Не совсем понял суть проблемы. Если это будет реклама сайтов, то нельзя договорится с рекламируемым сайтом, чтобы он, например, отслеживал Refferer и не использовал для сайта-рекламщика этот механизм, или вообще не использовал?
|
|||
|
||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Wolf1994, необходимо реализовать программо, а не договариваться с кем-то
-------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Можно обнулить фреймы: self.parent.frames = null;
А страницу с IFRAME-ом генери так:
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Могу предложить "грязное" решение. Считать документ на удалённом сервере средствами PHP, просканировать его, изменив все src и ссылки с локальных на абсолютные, убрать любые ненужные элементы, вроде скрипта Яндекса, и, просто вывести на страницу, безо всяких ифрэймов.
|
|||
|
||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Wolf1994, нужен именно переход, т.е. уникальный хост. Если будем считывать, то все будет с одного IP-адреса - с IP-адреса сервера.
Ciber SLasH, используя твой совет удалось заставить скрипт работать в FireFox. В IE все равно перебрасывает на Яндекс, но тем не менее, теперь отобразить ссылку скрипт успевает. Поэтому, можно сказать, что вопрос решен. Добавлено @ 01:39 Видимо IE не врубается в
-------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Black, а модальный диалог в IE по onUnload позволит задержать ссылку в модальном окне на долгое время? (Которая тоже делается в своём фрейме, если надо, чтобы работала навигация.)
|
|||
|
||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Black, если еще чего нароеш, черкани в форуме, плз.
Про уязвимость через iframe в ИЕ знаешь видимо? -------------------- Ты виндусятник?... А я да. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |