我认为这是一个简单的(问题)问题。我正在为外部学习资源编写SCORM包。它基本上是客户在LMS(学习管理系统)中安装的HTML页面中的iframe。
外部资源需要能够告诉LMS用户已完成内容。因为 LMS和资源位于不同的域,显然JS安全墙阻止我直接沟通。因此,当用户到达内容的末尾时,外部资源会将其网址设置为具有锚点,以便网址从http://url
转到http://url#complete
现在我正试图从iframe获取位置,但我失败了。我试过了iframe.location
和iframe.window.location
(。窗口也没什么)。我似乎无法处理正确的事情。
iframe.src
向我显示了原始来源网址,但当iframe更新为#complete
版本时,它不会更改。
任何提示?任何替代品?虽然我控制两个页面,除非有一个javascript方法来设置跨域通信,我不能设置http标头允许它,因为我不控制LMS服务器 - 它只是推出我的静态页面。
编辑:作为替代方案,我正在考虑将已完成的事件存储在会话中(我猜也会使用cookie),然后再创建另一个页面,将其输出为一个JSONP语句。我认为这样做很容易,但对于应该简单的事情来说,它会更加大惊小怪。我确实需要在外部站点上翻转LMS代码上的一个开关。