在IE中禁止SWF Click事件,而是跟随锚标记

时间:2009-02-12 23:56:49

标签: html events flash click

场景:您有一个带有内置点击事件的SWF文件,可以将您带到某个网页。您想要使用该SWF文件(源不可用),但让click事件将您带到另一个网页。将嵌入式SWF包装在锚标签中并将swf设置为wmode = transparent似乎只适用于FF,而不是IE,并且因为有问题的网站迎合了非技术人群,IE兼容性非常重要。

需要更改哪些设置,以便以浏览器兼容的方式尊重锚标记?

3 个答案:

答案 0 :(得分:1)

创建您自己的Flash应用程序,它嵌入主SWF,并在其上面放置一个透明的精灵来捕获鼠标点击。您可以在参数中传递目标网址。

答案 1 :(得分:0)

如果你几个月前问过这个问题,我会告诉你在swf前放置透明的gif,但是现在它可以被认为是clikljacking和noscript以及一些防病毒工具在他们看到它时可能会发狂。 (另一方面,可能不会,因为透明图像将直接在<a>标签中,如果swf“意外”在其下方,那么......没什么大不了的)

答案 2 :(得分:0)

尝试使用非常高的z-index作为可点击部分。默认情况下,IE中的Flash将自己置于堆叠顺序中非常高,导致默认情况下所有点击都会转到它。根据{{​​3}}判断,99应该这样做,但请记住,Flash使用的实际z-index自那篇帖子后可能已经发生了变化(如果z-index有最大值,他们现在可以使用它,制作这是不可能的 - 这取决于实施,我相信。)

此外,使用其他浏览器和其他操作系统进行测试。行为可能有所不同。

IE8有新的Clickjacking保护,但我认为它不会影响这种情况。在决定沿着这条路走下去之前,您可能需要先查看http://www.webmasterworld.com/css/3639440.htm,以防万一。