1

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

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

4

3 回答 3

1

创建您自己的 Flash 应用程序,该应用程序嵌入主 SWF,并在其顶部放置一个透明精灵以捕捉鼠标点击。您可以在参数中传递目标 URL。

于 2009-02-13T12:44:17.603 回答
0

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

于 2009-02-13T00:08:07.547 回答
0

尝试对可点击部分使用非常高的 z-index。默认情况下,IE 中的 Flash 在堆叠顺序中将自身置于非常高的位置,导致所有点击默认转到它。从http://www.webmasterworld.com/css/3639440.htm判断,99 应该这样做,但请记住,自那篇文章以来,Flash 使用的实际 z-index 可能已经改变(如果 z-index 有最大值索引,他们现在可能正在使用它,使其不可能 - 我相信这将取决于实施)。

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

IE8 有新的 Clickjacking 保护,但我认为它不会影响这种情况。在决定走这条路之前,您可能需要查看http://blogs.msdn.com/ie/archive/2009/01/27/ie8-security-part-vii-clickjacking-defenses.aspx,以防万一.

于 2009-02-13T00:35:43.300 回答