2009-02-10 4 views
1

Je veux trouver tous les objets flash sur une page aléatoire (pour les rendre wmode = transparent afin qu'ils ne cachent pas un menu).Meilleur remplacement de var flashElements = document.getElementsByTagName ("EMBED");

IE ne prend pas en charge EMBED dans: document.getElementsByTagName ("EMBED");

Toute idée de ce qui est le plus efficent trouver toutes les Intègre (pas jQuery ...)

également pour les plus avancés: je suis tombé sur des sites où la balise embed a été écrit comme embed. J'ai besoin de trouver ce genre de tags aussi.

Merci

Répondre

2

Je pense que le problème est pas que IE ne supporte pas une recherche sur <embed> balises mais plutôt que dans IE on utilise <objet> balises pour inclure un élément flash. En fait, Firefox supporte aussi le dernier format, si vous utilisez le formulaire ci-dessous:

<object type="application/x-shockwave-flash" data="MyFlashProgram.swf"> 

En fait, c'est la syntaxe préférée et swfobject utilise aussi. Ainsi, pour une solution multi-navigateur, vous aurez besoin de chercher:

  • <incorporez> et <objet> éléments avec type attribut réglé sur "application/x-shockwave-flash"
  • <objet> éléments avec classid attribut défini sur "CLSID: D27CDB6E-AE6D-11CF-96B8-444553540000"

Im incertain au sujet d'autres navigateurs comme Opera ou Safari, il est possible que vous devez étendre cette liste avec Furt ses variantes. Trouver ces éléments devrait être trivial avec une bibliothèque javascript comme jQuery ou un prototype, mais vous pouvez gérer sans cela.