Flash fs 命令在 Internet Explorer 9 中不起作用

Flash fscommand not working Internet Explorer 9

我正在从事一个电子学习项目,我需要在其中提供 Flash 和 Moodle 的 SCORM 之间的交互 ​​Javascript API。

实际上这已经完成了。它是用 fscommand 创建的,但是当涉及到 Internet Explorer 9 时它停止工作。

这是一个旧的遗留项目,有很多依赖于这些交互,所以我不能简单地将它更改为 ExternalInterface(我在最近的项目中一直在使用它)。

我试过将 allowScriptAccess 更改为 "always" 但它没有用。我也尝试过使用 meta http-equiv="X-UA-Compatible" 和几个不同的内容值,但它也没有用。

使用任何其他技术也不是一种选择。

如果有人对任何类似案例有任何建议或解决方案,我想知道。

提前致谢。

翻开旧知识我记得你可以模拟IE8。听起来你可能已经尝试过了。 元 http-equiv="X-UA-Compatible" 内容="IE=EmulateIE8"

也许试试 IE7。

感谢您的回复,马克。是的,你猜对了。我已经尝试了 EmulateIE8 和更少的尝试,但没有成功。

经过大量研究,我找到了一个解决方案,但我不能不放弃 fscommand

之前:
我有一个嵌入式 SWF 调用 fscommand 和一个 Javascript API 以及一个处理 SCORM API 交互的 _DoFsCommand 函数。 Javascript 的原生 SetVariable 函数将 SCORM 响应传回 SWF。

然后: 我将所有 fscommand 调用更改为 ExternalInterface.call 直接调用 _DoFsCommand 函数并将其传递给它的预期值。因此,即使放弃 Flash fscommand 我也可以保留其余代码。

然后我又遇到了另一个问题,SetVariable 函数因 DOM 对象和 Internet Explorer 版本而异。它可以是嵌入的功能或对象的功能。所以我必须在调用它之前检查嵌入是否有 SetVariable 函数。如果没有,我从对象中调用它。

这样我保证所有版本的 Internet Explorer 都支持 Flash 的请求和 SCORM 响应,而无需对我的项目进行重大更改。