gpt4 book ai didi

jquery - Flash SWF 在可见之前不会初始化 - 我可以强制它们初始化吗?

转载 作者:行者123 更新时间:2023-12-01 01:20:26 25 4
gpt4 key购买 nike

我有一个应用程序,需要在一系列行中渲染大约 100 个 Flash 图(以及其他 DOM 内容),这些行垂直延伸超出当前可见窗口很多次 - 换句话说,用户必须向下滚动才能看到查看所有不同的图表。

此应用程序也是动态的,当用户更改 DOM 中的值(页面上的任何位置)时,需要将该更改同时传播到所有 Flash 图形。

所以我设置了所有的externalInterface回调,并小心地不让任何JS开始运行,直到非常重要的“flashIsReady”调用......它工作得很好,直到我尝试用新的更新()现有的swf数据。

行为如下:- IE/Fox 中的所有 swf 加载(最初)= 良好。- 使用新内容更新 swf 在 IE 中有效,但在 Fox 中无效 = 不好- 在 Fox 中使用新内容更新 swf - 仅当 - 我向下滚动到页面底部,然后回到顶部 - 在此之前 - 我触发了 update()。

然后我开始跟踪每次 swf 调用 JS 说“flash 已准备好”时,我意识到,Firfox 仅在 swf 变得可见时才渲染它们。说实话 - 这很好,实际上,我很确定 IE 也这样做。但问题是,Firefox 不仅不会初始化 swf,而且如果 swf 尚未可见,Firefox 甚至不会承认该 swf 存在(预计加载后)。

证据是你会收到 JS 错误:

“[FlashDOMID].FlashMethod 不是函数”。

但是,向下滚动一点,等到它可见,然后痕迹突然开始亮起

“Flash 就绪”、“Flash 就绪”、“Flash 就绪”,一旦它们全部就绪,一切都会正常工作。

有人告诉我 FF 在可见之前不会初始化 swf - 我可以强制它吗?如果您需要,我可以发布代码......但它相当重(很难从其余部分中剔除相关内容),如果可能的话,我想避免它(为了您的缘故)。

问题很简单 - 您是否遇到过这种情况?如果是,您找到解决方案了吗?现在有人如何强制初始化还不可见的 swf 吗?谢谢大家。

最佳答案

所以...

经过大量论坛搜索 - 我同意,没有优雅的方法可以做到这一点哈哈!我最终寻求的解决方案基本上是为 $(document).ready() 上的每个 swf 制作 JS 对象

基本上,JS 对象会有各种值,其中包括“data”和“isReady”。当 swf 变得可见并调用 JS 说“我准备好了”时,我会简单地捕获该调用,然后找到它所引用的 JS 对象(我设法通过将每个 swf 的 DOM id 作为其之一传递来做到这一点) flashVars;是的,这让我感觉很肮脏)。从那时起,它基本上只是一个游戏,以确保每个 JS 在我尝试操作它之前都已“isReady”。

在这整个困惑中唯一优雅的是,通过使用 JS 对象,我仍然可以通过简单地更新各自 JS 对象中的“data”属性来将新数据应用到“隐藏”swf。然后,当 swf 最终变得可见时,我只需更新它拥有的任何数据(即当前数据)并且它运行得很好,但是,是的,我仍然同意整个情况是不幸的。

所以... *回答了。

关于jquery - Flash SWF 在可见之前不会初始化 - 我可以强制它们初始化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2768777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com