动态创建的iframe的内容为空

Oba*_*bay 12 html javascript iframe jquery

在我的localhost上,我使用以下JavaScript创建一个iframewith src,并将其添加到文档中:

$('#preview').html('<iframe src="http://google.com/"></iframe>');
Run Code Online (Sandbox Code Playgroud)

iframe显示但不显示内容.在萤火虫中,它只是:

<iframe src="http://google.com/">
    <html>
        <head></head>
        <body></body>
    </html>
</iframe>
Run Code Online (Sandbox Code Playgroud)

当我$('iframe').attr('src','http://google.com/');在控制台上执行时,浏览器加载(说"等待google.com ..."),然后似乎刷新了iframe的内容.但同样,它是空的.

但是,如果我将其设置为本地页面,则会加载内容.

这是因为相同的原产地政策吗?我不太了解它.我做了一些谷歌搜索,我很困惑,因为有些网站说可以包含一个不属于你自己的域的src的iframe,有些人说这是不可能的.

顺便说一句,因为我还在localhost上测试,如果我把它上传到某个服务器上,这会有用吗?(但iframe的src仍将在不同的域中)

救命?

Dav*_*mas 14

如果您检查了浏览器的错误控制台,则会看到以下消息:

拒绝显示文档,因为X-Frame-Options禁止显示.

因此,这不是您的错误,而是Google的故意行为.

这两个选项X-Frame-Options是:

  • deny - 帧内没有渲染,和
  • sameorigin - 如果原点不匹配,则不进行渲染

参考文献: