gpt4 book ai didi

javascript - 某些网站不会出现 Iframe 和 .load() 函数

转载 作者:行者123 更新时间:2023-12-03 08:32:00 27 4
gpt4 key购买 nike

我正在尝试加载另一个网页(未托管在我的服务器上)上的网页,但由于跨站点/安全脚本,我无法加载某些网页。例如,如果我使用 jquery,则 google 不会显示在 iframe 中:

 <script>
$("#siteload").html('<object data="http://google.com">');
</script>

请注意:我并不是专门尝试加载 google,只是加载任何不允许 iframe 的网页..

有人知道解决方法吗?在我的服务器上加载 .html 文件怎么样,可以吗?以及如何?

感谢您的帮助。

最佳答案

这是有意完成的,网站开发人员可以在响应中设置某些 header ,以控制哪些 URL(其他网站)可以加载 <iframe>, <frame> or <object> 中的内容。 。这是保护您的网站免受 Clickjacking 等攻击的一种方法。 。

例如:大多数浏览器都支持 X-Frame-Options标题

X-Frame-Options 有三个可能的值:

DENY
The page cannot be displayed in a frame, regardless of the site attempting to do so.

SAMEORIGIN
The page can only be displayed in a frame on the same origin as the page itself.

ALLOW-FROM uri
The page can only be displayed in a frame on the specified origin.

请注意,Chrome、Safari 等不支持 X-Frame-Options:Allow-From。

现代浏览器使用新的内容安全策略(CSP)来处理这些问题。因此您可以使用新 header 来控制它:

Content-Security-Policy: frame-ancestors

所有较新浏览器都支持的 CSP 2.0 也完全向后兼容。

我知道这不是您问题的答案,但此信息将使您了解为什么无法将网站加载到 iFrame 中。

关于javascript - 某些网站不会出现 Iframe 和 .load() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33305732/

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