如果我创建一个iframe
这样的:
var dialog = $('<div id="' + dialogId + '" align="center"><iframe id="' + frameId + '" src="' + url + '" width="100%" frameborder="0" height="'+frameHeightForIe8+'" data-ssotoken="' + token + '"></iframe></div>').dialog({
我该如何解决错误:
拒绝显示
'https://www.google.com.ua/?gws_rd=ssl'
在框架中,因为它将“ X-Frame-Options”设置为“ SAMEORIGIN”。
用JavaScript?
你无法X-Frame-Options
在上设置iframe
。这是由你从中请求资源的域设置的响应标头(google.com.ua
在你的示例中)。SAMEORIGIN
在这种情况下,他们将标头设置为,这意味着他们不允许将资源加载iframe
到其域的外部。有关更多信息,请参见MDN上的X-Frame-Options响应标头。
快速检查标题(在Chrome开发者工具中显示在此处)中,可以发现X-Frame-Options
主机返回的值。
使用YouTube,您可以将端点URL更改为“嵌入”版本。请参阅stackoverflow.com/questions/25661182/… (我知道这并不是OP严格搜索的内容,但是google首先给出了此结果!)
现在是2021年。根据[ developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…MDN docs),DENY和SAMEORIGIN是仅有的剩余有效选项,而ALLOW-FROM被认为已过时。这是否意味着跨网站iframe正式已成为过去(除非明确规避了插件等)?