javascript - 动态创建的 iframe 内容为空

标签 javascript jquery html iframe

在我的本地主机上,我使用以下 JavaScript 创建一个带有 srciframe,并将其添加到文档中:

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

iframe 显示但不显示内容。在 Firebug 中,它只是:

<iframe src="http://google.com/">
    <html>
        <head></head>
        <body></body>
    </html>
</iframe>

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

不过,如果我将其设置为本地页面,则会加载内容。

这是因为同源策略吗?我不是很了解它。我进行了一些谷歌搜索,我感到很困惑,因为有些网站说可以包含一个带有不属于您自己域的 src 的 iframe,而有些网站则说这是不可能的。

顺便说一下,由于我仍在本地主机上进行测试,如果我将其上传到某处的服务器,这是否可行? (但是 iframe 的 src 仍然在不同的域中)

帮忙吗?

最佳答案

如果您检查过浏览器的错误控制台,您会看到这条消息:

Refused to display document because display forbidden by X-Frame-Options.

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

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

  • deny - 帧内不渲染,并且
  • sameorigin - 如果原点不匹配则不渲染

引用资料:

关于javascript - 动态创建的 iframe 内容为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10366646/

相关文章:

html - 我的字体速记不起作用,其中包括字体大小和字体粗细属性

c# - 在没有反射的情况下将 "Code/Properties/Stuff"与 C# 中的字段相关联。我太被 Javascript 灌输了

javascript - 我可以使用 XMLHttpRequest 写入文件吗

javascript - 将 iframe 高度设置为内部内容的高度(在同一域上)

jquery - 如何强制 jquery ui 菜单或类似的水平显示第二个子菜单项

javascript - 如何在悬停时出现/消失的情况下将第三级添加到我的CSS菜单

javascript - 如何仅使用 javascript 和 html 在 <div> 标记中加载嵌套网页?

javascript - 在提交表单之前阅读文本区域中的换行符?

javascript - jQuery 事件命名空间可以包含破折号吗?

javascript - 自动加载和卸载元件