我们正在尝试在我们的自定义页面中显示一些受欢迎的网站。我们添加了一些带有相关链接的按钮,当单击它们时,它应该重定向到该网站,同时显示在我们的同一页面上。
有什么解决办法吗?
我们的方法是,为每个按钮添加一个单击事件,然后为其附加一个 iframe。然而,大多数网站无法在框架上显示。
<button id = "google"></button>
<div id ="googledisplay"></div>
var google = document.getElementbyId("google");
$("#google").one("click", function(e) {
$("#googledisplay").append('<iframe src="http://www.google.com"></iframe>');
});
似乎 google 无法在 iFrame 中显示。欢迎任何建议、指导。
最佳答案
大多数网站都会拒绝将其网站作为另一个网站的一部分放在 iframe 上的请求。当您尝试创建<iframe>
时浏览器会拒绝 google 网站,因为它们的 X-Frame-Options
header 。 Chrome 控制台中的错误将显示为:
Refused to display 'https://www.google.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
TLDR:很少有网站允许这种行为,而且这根本不是执行此类操作的正确方法。
编辑:要回答问题的第二部分,他们没有实际的解决方法。如果在浏览器中发现类似的内容,它将被视为错误并立即修补。这只是一个安全问题。
关于javascript - 如何使用外部网络链接更新页面,保持导航栏固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55862898/