我正在开展一个电子学习项目,我需要在Flash和Moodle的SCORM Javascript API之间提供互动。
实际上这已经完成了。它是用fscommand创建的,但是当涉及到Internet Explorer 9时,它就会停止工作。
这是一个古老的遗留项目,很多依赖于这些交互,所以我不能简单地将其更改为ExternalInterface(我在最近的项目中使用过)。
我已尝试将allowScriptAccess更改为"始终"但它没有用。我也尝试过使用meta http-equiv =" X-UA-Compatible"有几个不同的内容值,但它也没有工作。
使用任何其他技术也不是一种选择。
如果有人对任何类似案件有任何建议或解决方案,我想知道。
提前致谢。
答案 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响应,而不会对我的项目进行重大更改。