在 div 中加载由 Flex 3 生成的动态 swf
我正在尝试加载由我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
结构非常简单
$(#divID).load('sample.swf');
其中,sample.swf 是动态生成的,并且具有 100% 的高度和宽度。
Struture is very simple
$(#divID).load('sample.swf');
where sample.swf is generating dynamically and has 100% height and width.
如果这真的有效的话,我会感到非常惊讶。 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
要将生成的 swf 文件加载到页面中的某个 div 而不是占据整个页面,请按照下面提供的三个步骤进行操作。但首先出现这种行为的原因是生成的“AC_OETags.js”使用“document.write()”,这意味着将内容直接打印到页面。在此解决方案中,我们将更改此行为(只需不使用 document.write),而是使用函数返回和 JQuery 调用。
在 AC_OETags.js 中,将函数 AC_Generateobj() 更改如下:
在 AC_OETags.js 中,将函数 AC_FL_RunContent() 更改如下:
因此,现在两个函数都将返回结果,而不是写入页面。最后一步是将 AC_FL_RunContent 调用的返回值分配给一个变量,并使用 JQuery 将其附加到 html 中的 div 中:
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.
In AC_OETags.js change the function AC_Generateobj() as follows:
In AC_OETags.js change the function AC_FL_RunContent() as follows:
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: