Як перехоплювати клік по flash-банера - leonid shevtsov

Очевидний спосіб - відкрити флешку в Flash Professional. перекрити її прозорим прямокутником і навісити на нього подія. Але якщо Flash Studio у нас немає, та й взяти ніде? Та й до того ж не хочеться, щоб смикали через кожної нової флешки?

Флешка-контейнер

Спосіб запропонував Костя. а зробив цю флешку, як не дивно, теж дніпропетровець.

Спосіб простий, як колода: замість флешки-банера завантажується флешка-контейнер b-loader. яка завантажує флешку-банер всередину себе і перекриває її посиланням.

перекомпіляція флешки

Це рішення автоматизується, не вимагає графічного режиму, працює як з-під Windows, так і з-під Linux.

Стане в нагоді безкоштовний компілятор (рекомпілятор, точніше) ActionScript mtasc. Він є в репозиторіях Ubuntu, і, звичайно, на офіційному сайті.

Що він може? Наприклад, перекрити флешку прозорим прямокутником, навісивши на нього посилання! Для цього потрібно зберегти наступний код в файл clicker.as.

а потім - "вшити" його в нашу флешку нескладної командою (яка - обережно! - затирає вихідний файл)

От і все! Залишається підключити флешку, наприклад, таким кросбраузерності способом:

Перекриття флешки картинкою

За замовчуванням об'єкт Flash отрісовивается поза вікна браузера, тобто, окремим вікном, і перекрити його чим-небудь, що знаходяться в HTML, неможливо. Тому є так званий режим WMODE. який отрісовиваєт флеш всередині браузера. Це викликає деякі проблеми з продуктивністю, проте у випадку з банерами вони нехтує малі.

Само по собі перекриття відбувається традиційним чином; blank.png - прозора картинка розміром 1x1, тобто ось така.

Можна було б перекрити просто посиланням, зробивши її блоковим елементом потрібного розміру, але це не працює в IE. Можна було б передавати картинку за допомогою data URI. але це не працює в IE <8. В общем, как всегда.