Flash fscommand无法使用Internet Explorer 9

时间:2016-12-19 11:28:28

标签: javascript api flash scorm fscommand

我正在开展一个电子学习项目,我需要在Flash和Moodle的SCORM Javascript API之间提供互动。

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

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

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

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

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

挖掘一些旧知识我记得你可以模仿IE8。听起来你可能已经尝试过了。 meta http-equiv =" X-UA-Compatible"含量=" IE = EmulateIE8"

也许尝试IE7。

答案 1 :(得分:0)

谢谢你的回复,马克。是的,你猜对了。我曾尝试过EmulateIE8次,但没有成功。

经过大量的研究后,我找到了一个解决方案,但如果不放弃fscommand,我就无法做到。

<强>之前:
我有一个嵌入式SWF调用fscommand和一个带有_DoFsCommand函数的Javascript API来处理SCORM API交互。 SCORM响应通过Javascript的本地SetVariable函数传递回SWF。

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

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

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