gpt4 book ai didi

javascript - iframe 内容并不总是加载

转载 作者:行者123 更新时间:2023-11-27 22:58:44 24 4
gpt4 key购买 nike

所以我有一个系统,基本上可以实现两台计算机之间的通信,并使用 WebRTC 框架来实现这一点:

“主机”:这是控制计算机,客户端连接到此计算机。他们控制客户端窗口。“客户端”:是另一端的用户。他们的窗口由服务器控制。

我所说的控制是指主机可以:

  • 更改客户端打开窗口上的 CSS。
  • 控制客户端打开窗口上 iframe 的 URL

这些有一些变化,但本质上这就是控制量。

当“客户端”登录时,主机会向客户端发送一个网址。然后,该网址将显示在 iframe 中,如下所示:

$('#iframe_id').attr("src", URL);

还能够以消息的形式向客户端发送新的网址。上面使用相同的代码来导航到该 URL。

我遇到的问题是,大约四分之一的计算机上 iframe 并未实际加载。它要么显示白屏,要么显示“页面无法显示”小图标:

  • 我无法可靠地复制此错误
  • 我还没有看到计算机之间可以查看 iframe 内容和不能查看 iframe 内容的明确模式。

所有客户端都运行谷歌浏览器,大多数运行苹果 powermac。我所做的唯一半链接是 Windows 计算机似乎更容易受到它的影响,但不是我可以重现的方式。有时刷新页面会起作用...

是否有任何已知的错误可能导致这种情况发生?我读过有关 iframe 白色闪烁的内容,但我相信这不是那个问题。我相信这不是 jQuery 加载的问题,因为这会在此之前产生问题并且很容易发现。

非常感谢。亚历克斯

编辑:好的,这是从服务器收集数据的代码。经检查,收到的数据正确。

conn.on('data', function(data) {
var data_array = JSON.parse(data);
console.log(data_array);

// initialisation
if(data_array.type=='init' && inititated === false) {
if(data_array.duration > 0) {
set_timeleft(data_array.duration); // how long is the exam? (minutes)
} else {
$('#connection_remainingtime').html('No limits');
}
$('#content_frame').attr("src", data_array.uri); // url to navigate to
//timestarted = data_array.start.replace(/ /g,''); // start time
ob = data_array.ob; // is it open book? Doesnt do anything really... why use it if it isnt open book?
snd = data_array.snd; // is sound allowed?
inititated = true;
}
}

当客户端启动 iframe 更改时,它肯定会尝试使 iframe 导航到某处 - 它尝试加载某些内容但失败了。

编辑:此问题的更新:它确实有效,只是不适用于谷歌表单。再说一遍,这不是每个人的计算机,而是少数人的计算机。如果他们导航到其他地方(例如 http://www.bit-tech.net),那么它就可以正常工作。

** 进一步更新 **:似乎在失败的项目上,存在“X-Frames-Origin”问题,因为它设置了“SAMEORIGIN”。我不明白为什么有些学生会遇到这个问题,有些则不会……这当然取决于您正在导航到的页面,如果一个人能够解决所有问题就应该能够做到吗?

最佳答案

所以这里的问题是学生们试图在代理服务器后面加载它,而代理服务器有 cookie 问题。尽管该网站不使用 cookie,但代理使用了 cookie,并且当学生在其设置中阻止了“第三方 cookie”时,代理将不允许该网站加载。

只需允许 cookie 就可以了:)

关于javascript - iframe 内容并不总是加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37336564/

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