4

有没有办法查询嵌入式 Flash 元素以确定可以通过 JavaScript 在其上执行的可用方法?

编辑:似乎在 IE 中它很简单

for ( i in flashNode ) {
    alert(i);
}

多次点击后,他们将成为最后列举的一些成员。

尽管如此,仍然无法在 Firefox 中确定这一点。

4

2 回答 2

3

虽然可以通过枚举<object>IE 中的 DOM 节点来获取回调,但它们与 DOM 节点的所有其他属性混合在一起,如果不保留已知属性列表以进行比较,则无法在程序上区分它们,然后取两组的差值。

这种方法是有问题的,因为属性可以任意添加到任何 DOM 节点。更糟糕的是,它只适用于 IE。Firefox(可能还有其他)不会将回调作为<object>DOM 节点的属性返回。

于 2009-07-26T13:00:56.867 回答
1

我相信它在 FF 和其他浏览器中的工作方式相同,但您可能需要以不同于 IE 的方式获取对 swf 元素的引用。

IE 将使用对象标签,通常带有 id,而 ff/safari/etc 将使用 embed 标签,并且由于您不应该在两个元素上使用相同的 id,人们通常使用 name 属性而不是 id嵌入标签上的属性。

如果您使用诸如 SWFObject 之类的东西来嵌入您的 swf,那么您应该只获取一个或另一个(对象或嵌入),并且无论写入哪个都将使用您指定的任何内容设置 id 属性,因此您可以迭代对象.

于 2009-06-28T16:40:51.357 回答