javascript - 刷新我无法控制的跨域网站的 html 框架

标签 javascript html iframe cross-domain

这可能是一个 x y 问题,所以我将提供一些背景知识。我正在尝试制作一个简单的仪表板,它可以加载许多不同的站点以及它们之间的循环。为此,我设置了一个简单的本地服务器以及一个 html 页面,该页面填充了 distict 框架中的不同站点,然后通过依次隐藏/显示每个站点在它们之间循环。简单来说,页面如下所示:

<html>
<head></head>
<body>
<iframe id="frame1" src="www.example1.com"> </iframe>
<iframe id="frame2" src="www.example2.com"> </iframe>
<iframe id="frame3" src="www.example2.com"> </iframe>
</body>
</html>

现在,我想做的是能够强制重新加载每一帧,以便数据是最新的。对于大多数网站,我可以这样做:
document.getElementById['iframe.src'] = document.getElementById['iframe.src']

但是,对于内容更改未反射(reflect)在 URL 中的站点,这将不起作用,而是将页面“刷新”回主页。我想要做的基本上是直接向框架提交 F5 类型的刷新或使用:
document.getElementById("iframe_id").contentWindow.location.href

或者
document.getElementById('YOUR IFRAME').contentDocument.location.reload(true);

但是,由于 CORS,我不能这样做。考虑到这些站点是我正在查看的外部站点,并且无法控制我正在努力想出解决此问题的方法。有什么很明显的我想念的吗?

最佳答案

你不会错过任何东西,这就是网络的运作方式。您无法控制来自另一个域的页面,除非您使用 postMessage() 但这意味着目标页面会确认您的消息并做出相应 react 。

换句话说,除非您可以控制要嵌入的页面,否则您将无法做到这一点。

关于javascript - 刷新我无法控制的跨域网站的 html 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59754761/

相关文章:

javascript - 滚动时卡住所选元素

javascript - 对 globalCompositeOperation 感到困惑

javascript - 带有 iFrame 的 ifelse 语句

iframe - 使用 Foundation 显示模式和 YouTube iframe 延迟加载lazyYT

javascript - 如何防止 iframe 在注入(inject) DOM 时加载?

javascript - 从外部 URL 通过 Ajax 调用获取 JSON 数据

javascript - 遍历 JQueryUI 选项卡控件中的每个选项卡并构建对象数组

JavaScript 制作快速运行的图像幻灯片?

javascript - 根据在另一个选择中选择的值禁用或启用选择选项

python - lxml.html 解析和带有请求的 utf-8