SCORM: SecurityError: Blocked a frame with origin from accessing a cross-origin frame FOR SAME ORIGIN

SCORM: SecurityError: Blocked a frame with origin from accessing a cross-origin frame FOR SAME ORIGIN

我知道有很多类似的问题,唯一的区别是我从 **same ** 域服务的两个页面得到这个。这可以在下面的示例中看到。

    Uncaught DOMException: Blocked a frame with origin "https://content.samba.net" from accessing a cross-origin frame. 
  
at findAPI (https://content.samba.net/00/07/19-10/scorm_support/scorm_support.js:14:10)   
at getAPI (https://content.samba.net/00/07/19-10/scorm_support/scorm_support.js:61:13)   
at https://content.samba.net/00/07/19-10/SCORM.htm:200:16

这不应该只发生在不同的域之间吗?

==============================编辑============== =========================
当然,在我发布几秒钟后,我发现了问题。 SCORM 包具有定位 SCORM API 的功能。它看起来在顶部和开瓶器。在我的例子中,Window Opener 在不同的域中,它试图访问它。
为了历史的缘故,我会留下它。我的回答有细节。

问题已解决,是 SCORM 协议特有的问题。
当你打开一段 SCORM 内容时,它是一堆 html、flash、js 和其他媒体文件,它做的第一件事就是试图找到 SCORM api.
SCORM api 是必须位于加载 SCORM 内容的 window 中的 JS。
在某些 SCORM 包中,查找 API 的函数递归查找 TOP window,即启动整个过程的初始 window。
在我的例子中,它是我网站上的一个 window,它在我的 CDN 上弹出了 SCORM 启动器,它有一个不同的域名。

为了解决这个问题,我所要做的就是让浏览器认为 SCORM 启动器(我在 CDN 上弹出的 window)是 TOP,方法是在其中添加以下两行 js :

window.top=window;
window.opener=window;