在 div 中加载由 Flex 3 生成的动态 swf

发布于 2024-08-18 13:55:29 字数 198 浏览 4 评论 0原文

我正在尝试加载由我的 flex 3 在 div 中生成的具有 100% 宽度和高度的动态 SWF 文件。使用 Jquery load() 函数。我尝试加载的 div 在一段时间内可见,但之后我的 SWF 从 div 中出来并占用整个视口区域来显示 SWF。我尝试为 div 提供固定的高度和宽度,但没有成功。我只想加载该特定 div 中的 SWF 文件。有人可以帮我解决这个问题吗?

I am trying to load the dynamic SWF file which has 100% width and height ,generatd by my flex 3 in a div. using Jquery load() function. The div wherein i am trying to load is visible for sometime but after that my SWF comes out of div and takes whole viewport area to display the SWF. I have tried to provide fixed height and width to div but no luck. I want to load that SWF file in that particular div only. Could anybody please help me with this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

赠我空喜 2024-08-25 13:55:29

结构非常简单

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

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

其中,sample.swf 是动态生成的,并且具有 100% 的高度和宽度。

Struture is very simple

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

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

where sample.swf is generating dynamically and has 100% height and width.

淡紫姑娘! 2024-08-25 13:55:29

如果这真的有效的话,我会感到非常惊讶。 AFAIK,flash/flex 对象需要以特定方式插入 DOM 中(使用 )。

flashembed 是一个非常好的(免费)JavaScript 组件,可以满足您的所有需求:

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

I would be very surprised if this worked at all. AFAIK, a flash/flex object needs to be inserted in the DOM in a specific way (using <embed> or <object>).

A very nice (and free) javascript component that does everything you need is flashembed:

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

烟花易冷人易散 2024-08-25 13:55:29

要将生成的 swf 文件加载到页面中的某个 div 而不是占据整个页面,请按照下面提供的三个步骤进行操作。但首先出现这种行为的原因是生成的“AC_OETags.js”使用“document.write()”,这意味着将内容直接打印到页面。在此解决方案中,我们将更改此行为(只需不使用 document.write),而是使用函数返回和 JQuery 调用。

  1. 在 AC_OETags.js 中,将函数 AC_Generateobj() 更改如下:

    [最后一行代码] : 替换 document.write(str);返回 str;
    
  2. 在 AC_OETags.js 中,将函数 AC_FL_RunContent() 更改如下:

    [最后一行代码] : 替换 AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);返回 AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
    
  3. 因此,现在两个函数都将返回结果,而不是写入页面。最后一步是将 AC_FL_RunContent 调用的返回值分配给一个变量,并使用 JQuery 将其附加到 html 中的 div 中:

    var mediaContent = AC_FL_RunContent( ... 闪存所需参数... );
    $('#YOUR_DIV_ID').replaceWith(mediaContent);
    

To load the generated swf file into a certain div in your page instead of occupying the whole page, follow the three steps provided bellow. But first the reason for this behavior is that the generated "AC_OETags.js" uses "document.write()" which means printing the content directly to the page. In this solution we will alter this behavior (simply by not using document.write) but using functions returns and a JQuery call instead.

  1. In AC_OETags.js change the function AC_Generateobj() as follows:

    [Last line of code] : replace document.write(str); with return str;
    
  2. In AC_OETags.js change the function AC_FL_RunContent() as follows:

    [Last line of code] : replace AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); with return AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
    
  3. So now both functions will return the results instead of writing to the page. The last step is to assign the return of the AC_FL_RunContent call to a variable and append it to the div in your html using JQuery:

    var mediaContent = AC_FL_RunContent( ... flash required parameters... );
    $('#YOUR_DIV_ID').replaceWith(mediaContent);
    
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文