Flash横幅,如何给它一个(外部)html链接

时间:2011-09-26 22:45:30

标签: flash

是否有跨浏览器解决方案可以为flash横幅提供HTML链接,而无需将其放入闪存本身? (即Flash中没有可点击的按钮)

我尝试给周围的锚标签一个高z-index,但这不起作用。我正在使用标准的google swfobject来包含flash横幅,但我并没有坚持使用它。

由于

2 个答案:

答案 0 :(得分:1)

总是可以让Flash处理点击并通过ExternalInterface将其传递给Javascript。然后让您的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

Adob​​e的“使用ExternalInterface”文章: http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7cb2.html

答案 1 :(得分:1)

是的,有!这是诀窍:

将Flash横幅放在(不在内部)锚标记旁边,并将其设置为 wmode =“opaque”。您还需要设置锚标记的位置,显示和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是1px透明gif。

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。

的透明链接上的点击