Flash баннер, как дать ему (внешнюю) ссылку html - PullRequest
0 голосов
/ 27 сентября 2011

Существует ли кросс-браузерное решение, позволяющее размещать на флеш-баннере ссылку html, не помещая ее в саму флеш-память? (т. е. во Flash нет нажимаемой кнопки)

Я пытался присвоить окружающему тегу привязки высокий z-индекс, но это не сработало. Я использую стандартный google swfobject для включения флэш-баннера, но не застрял на этом.

Спасибо

Ответы [ 2 ]

1 голос
/ 12 июня 2012

Да, есть! Вот хитрость:

Поместите флеш-баннер рядом с (не внутри) тега привязки и установите его wmode = "непрозрачный". Также вам нужно установить положение, отображение и стили z-index вашего тега привязки.

<div style="position:relative;">
  <a href="http://your-target-url" style="position:absolute; top:0; left:0; display:block; width:100%; height:100%; z-index:100;">&nbsp;</a>
  <embed src="your-flash-banner" type="application/x-shockwave-flash" wmode="opaque"></embed>
</div>

Отредактировано: Чтобы работать в IE, нужно сделать его немного грязным. Добавьте также один из этих стилей в тег привязки:

background:url(spacer.gif);

где spacer.gif - прозрачный GIF размером 1 пиксель.

или

background-color:#ffffff; /* the background          */
filter:alpha(opacity=0);  /* Internet Explorer       */
-moz-opacity:0;           /* Mozilla 1.6 and below   */
opacity: 0;               /* newer browser and CSS-3 */

Это еще одна ошибка IE, которая не принимает клики по прозрачным ссылкам с display: block.

1 голос
/ 27 сентября 2011

Всегда может быть Flash обработать щелчок и передать его в Javascript через ExternalInterface.Затем пусть ваш Javascript ответит на звонок и переместит пользователя на новое место.Обратите внимание, что это будет работать, только если у пользователя включен Javascript.

Код Javascript:

function myCustomFlashCallMethod()
{ alert("Hello world!"); }

Flash-код:

addEventListener(MouseEvent.CLICK, onMouseClick, false, 0, true);

function onMouseClick(event:MouseEvent):void
{
    if (ExternalInterface.available)
    { ExternalInterface.call("myCustomFlashCallMethod"); }
}

Ссылка на класс ExternalInterface: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

Запись Adobe "Using ExternalInterface": http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7cb2.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...