swfobject с html-классом?

Привет, ребята, есть ли какой-нибудь параметр, где я мог бы применить имя класса к swfobject?

    <script type="text/javascript">
        var params = { allowScriptAccess: "always" };
swfobject.embedSWF("http://www.youtube.com/v/j_aFmziaRdU&amp;enablejsapi=1&amp;playerapiid=ytplayer_13", "ytplayer_13", "425", "365", "8", null, null, params);

    </script>

Это отображается как <object .... Есть ли шанс, где я могу добавить имя класса к этому <object при его создании с помощью swfobject? как <object class="classnam" ...


person matt    schedule 16.02.2011    source источник
comment
Сделал ваш код видимым (используйте s, чтобы замаскировать <> в xml) и добавил тег css.   -  person weltraumpirat    schedule 16.02.2011


Ответы (2)


Вы используете параметр атрибутов (нет прямой ссылки на абзац, откройте ссылку и выполните поиск по заголовку «ШАГ 3: Вставьте SWF с помощью JavaScript»), чтобы присвоить объекту идентификатор или класс. Затем вы можете использовать document.getElementById() для получения объекта после его создания. Или используйте #id или .classname из CSS, именно так, как вы ожидаете, чтобы это работало. Однако осторожно: attributes.class вызовет ошибку (это зарезервированное ключевое слово), вы должны использовать attributes.styleclass для установки имени класса.

person weltraumpirat    schedule 16.02.2011
comment
да, спасибо. Я уже добавляю его с помощью jquery. Это нормально работает. Мне просто было интересно, есть ли способ лучше, чтобы мне не приходилось ждать, пока объект будет создан. - person matt; 16.02.2011
comment
Вы этого не сделаете, если вы используете селекторы css - браузер сделает это за вас. - person weltraumpirat; 16.02.2011
comment
что вы имеете в виду под css-селекторами? что ты имеешь в виду, ты не имеешь? Я просто ищу лучший способ добавить имя класса к этому ‹swfobject›, теперь я просто использую jquery с $ ('# vidoeID'). AddClass ('classname'); и это прекрасно работает. Есть ли лучший и более быстрый (или более надежный) способ сделать это или нет? - person matt; 16.02.2011
comment
Я имел в виду: если вы используете параметр аргумента, вам не нужно ждать, пока объект существует. Используйте attributes.styleclass="classname" и добавьте объект атрибутов к вашему вызову swfobject.embedSWF(), как описано в документации, на которую я ссылался. Селектор CSS - это выражение, используемое для выбора элемента непосредственно из таблицы стилей (.classname, в вашем случае), в отличие от выбора элемента с помощью JavaScript. - person weltraumpirat; 16.02.2011
comment
спасибо, я знаю, что такое селектор CSS. Я просто понятия не имею, как и где я использую эту штуку attribute.styleclass? Должен ли я использовать этот метод .registerObject ()? Извините, но я не так уж много программиста. - person matt; 16.02.2011
comment
Нет, тебе просто нужно прочитать эту чертову документацию! ;) Все очень просто: var attributes = {}; attributes.styleclass="classname"; swfobject.embedSWF("http://www.youtube.com/v/ j_aFmziaRdU&amp;enablejsapi=1&amp;playerapiid=ytplayer_13", "ytplayer_13", "425", "365", "8", null, null, params, attributes); - person weltraumpirat; 16.02.2011
comment
удивительный! большое спасибо. все равно не нашел бы! :) еще раз спасибо. - person matt; 16.02.2011

Вы можете изменить файл swfobject.js и добавить его туда вручную. Или сделайте вставку вручную вместо SWFObject. Кроме того, обычно SWFObject вставляется в контейнер div, вы также должны иметь возможность вставить туда класс.

Надеюсь это поможет. Я думаю, что это то, о чем вы спрашивали, если нет, то мне плохо.

person TNC    schedule 16.02.2011
comment
-1, потому что это действительно бесполезный ответ: он обслуживает только один вариант использования (что, если бы у вас был веб-сайт с множеством объектов Flash и разными классами стилей - вы бы создали отдельный файл swfobject.js для каждого из них?), и создается впечатление, что SWFObject может использоваться только очень грубым и непрактичным способом, создавая жесткий и негибкий HTML, и это именно та проблема, которую он должен был исправить. - person weltraumpirat; 16.02.2011
comment
Более того, swfobject заменяет контейнер div на объект flash, поэтому добавление там класса ничего не дает. - person weltraumpirat; 16.02.2011
comment
-1 за ответ на его вопрос? Просто потому, что вы считаете это грубым ответом, он по-прежнему служит цели. Ваш ответ - лучший, и он был там, когда я опубликовал свой. Я предлагал альтернативу. То, что вы не стали бы его использовать, не значит, что это неправильно. - person TNC; 16.02.2011
comment
Это правда, но это тоже не так. Я не дал вам -1, потому что вы ответили на вопрос. Я дал вам -1, потому что а) ответ неверен (<div>part) и б) он бесполезен (остальное, см. Объяснение выше). И очевидно, что кто-то другой тоже должен был думать об этом так же. - person weltraumpirat; 16.02.2011