是否有跨浏览器解决方案可以为flash横幅提供HTML链接,而无需将其放入闪存本身? (即Flash中没有可点击的按钮)
我尝试给周围的锚标签一个高z-index,但这不起作用。我正在使用标准的google swfobject来包含flash横幅,但我并没有坚持使用它。
由于
答案 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
Adobe的“使用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;"> </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。
的透明链接上的点击