我有一个我认为很简单的问题。我正在为一个外部学习资源编写一个SCORM包。它基本上是HTML页面中的一个iframe,客户端安装在其LMS(学习管理系统)中。
外部资源需要能够告诉LMS用户已经完成了内容。因为
LMS和资源在不同的域上
,显然JS安全墙阻止了我直接通信。因此,当用户到达内容的末尾时,外部资源将其URL设置为具有一个锚,以便URL从
http://url
到
http://url#complete
现在我试着从iframe上获取位置,结果失败得很惨。我试过了
iframe.location
和
iframe.window.location
(窗户也没什么)。我好像没法处理正确的事情。
iframe.src
显示原始源URL,但当iframe更新到
#complete
版本。
有什么建议吗?有其他选择吗?虽然我控制了两个页面,但是除非有一个javascript方法来设置跨域通信,否则我不能设置http头来允许它,因为我不控制LMS服务器-它只是将我的静态页面推出。
编辑:
作为替代方案,我正在考虑将完成的事件存储在资源端的会话中(我猜cookie也可以工作),然后制作另一个页面,将其输出为JSONP语句。我想这很容易做,但对于那些
应该
简单一点。我真的需要从外部站点打开LMS代码的一个开关。