Лучшая замена для var flashElements = document.getElementsByTagName ("EMBED"); - PullRequest
1 голос
/ 10 февраля 2009

Я хочу найти все флэш-объекты на случайной странице (чтобы они были wmode = прозрачными, чтобы они не скрывали меню).

IE не поддерживает EMBED в: document.getElementsByTagName ("EMBED");

Любая идея, как наиболее эффективно найти все встраивания (без jQuery ...)

Также для более продвинутых: я сталкивался с сайтами, где тег для встраивания был написан как eMBED. Мне также нужно найти такие теги.

Спасибо

1 Ответ

2 голосов
/ 10 февраля 2009

Я думаю, что проблема не в том, что IE не поддерживает поиск по тегам , а в том, что в IE используются теги для включения флэш-элемента. На самом деле, Firefox также поддерживает последний формат, если вы используете следующую форму:

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

На самом деле это предпочтительный синтаксис, и swfobject также использует его. Итак, для кросс-браузерного решения вам нужно искать:

  • и с атрибутом type, установленным в "application / x-shockwave-flash"
  • элементов с атрибутом classid, установленным на "clsid: D27CDB6E-AE6D-11cf-96B8-444553540000"

Я не уверен насчет других браузеров, таких как Opera или Safari, возможно, вам нужно расширить этот список дополнительными вариантами.

Поиск этих элементов должен быть тривиальным с библиотекой javascript, такой как jQuery или прототип, но вы можете обойтись без них.

...