2010-01-21 2 views
1

Я пытаюсь загрузить динамический SWF-файл с шириной и высотой 100%, созданный моим flex 3 в div. используя функцию Jquery load(). Div, в котором я пытаюсь загрузить, видимо некоторое время, но после этого мой SWF выходит из div и занимает всю область области просмотра для отображения SWF. Я попытался предоставить фиксированную высоту и ширину div, но не повезло. Я хочу загрузить этот SWF-файл только в этом div. Может ли кто-нибудь помочь мне в этом.Загрузить динамический swf, сгенерированный Flex 3 в div

+0

Какой код вы используете для встраивания SWF? Библиотека, подобная SWFObject? Регулярный HTML-код 'object' /' embed'? Укажите свой код в вопросе. –

+0

Struture очень просто $ (# divID) .load ('sample.swf');

 
где sample.swf генерирует динамически и имеет высоту и ширину 100%. – Shruti

+0

Можете ли вы вставить SWF в div так же, как с помощью jQuery? Будет ли обработчик jQuery создавать все те объекты и вставлять теги? Проверьте документы jQuery, чтобы узнать, принимает ли этот метод загрузки параметры ширины/высоты, и если это так, установите для них явные значения (400x400). Кстати, вы можете отредактировать вопрос и добавить дополнительную информацию там, а не добавлять его в качестве ответа « – Amarghosh

ответ

0

Struture очень просто

$ (# DIVID) .load ('sample.swf');

> <div id="divID" 
> style="height:400px;height:400px;"> 
> &nbsp; </div> 

где sample.swf генерирует динамически и имеет 100% высоту и ширину.

+2

Пожалуйста, добавьте это на вопрос и удалите этот "ответ" – Amarghosh

0

Я был бы очень удивлен, если бы это сработало вообще. AFAIK, объект flash/flex должен быть вставлен в DOM определенным образом (с использованием <embed> или <object>).

Очень хороший (и бесплатно) Javascript компонент, который делает все, что нужно flashembed:

http://flowplayer.org/tools/flashembed.html

0

Чтобы загрузить сгенерированный SWF файл в определенный DIV в странице вместо того, чтобы занимать всю , выполните следующие три шага. Но сначала причина такого поведения заключается в том, что сгенерированный «AC_OETags.js» использует «document.write()», что означает печать содержимого непосредственно на странице. В этом решении мы будем изменять это поведение (просто не используя document.write), но вместо этого будем использовать возвращаемые функции и вызов JQuery.

  1. В AC_OETags.js изменить функцию AC_Generateobj() следующим образом:

    [Last line of code] : replace document.write(str); with return str; 
    
  2. В AC_OETags.js изменить функцию AC_FL_RunContent() следующим образом:

    [Last line of code] : replace AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); with return AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); 
    
  3. Так теперь обе функции возвращают результаты, а не записывают на страницу. Последним шагом является назначение возврата вызова AC_FL_RunContent переменной и добавить его в DIV в вашем HTML с помощью JQuery:

    var mediaContent = AC_FL_RunContent(... flash required parameters...); 
    $('#YOUR_DIV_ID').replaceWith(mediaContent); 
    
Смежные вопросы