gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 07:10:37 26 4
gpt4 key购买 nike

我知道有很多类似的问题,唯一的区别是我从 **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 协议(protocol)的。
当你打开一段 SCORM 内容,即一堆 html、flash、js 等媒体文件时,它做的第一件事就是试图找到 SCORM api。
SCORM api 是必须在加载 SCORM 内容的窗口中的 JS。
在某些 SCORM 包中,查找 API 的函数会递归查找 TOP 窗口,即启动整个过程的初始窗口。
在我的情况下,它是我网站上的一个窗口,它在我的 CDN 上弹出了 SCORM 启动器,它具有不同的域名。
为了解决这个问题,我所要做的就是欺骗浏览器认为 SCORM 启动器(我在 CDN 上弹出的窗口)是 TOP,方法是在其中添加以下两行 js:

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

关于javascript - SCORM: SecurityError: Blocked a frame with origin from access a cross-origin frame FOR SAME ORIGIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63515079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com