iframe没有src但仍有内容?

在他们的网站上调试jquery代码时(通过chrome开发人员工具栏)

我注意到他们的示例是在Iframe下给出的:

这里 – 例如,有一个样本在Iframe下,但在调查之后,我看到iframe没有SRC

图为这一切

在此处输入图像描述

题 :

是否可以在不设置其SRC的情况下将内容设置为Iframe?

ps这个菜单还显示了一个空内容

在此处输入图像描述

是的,可以加载一个空的 (没有指定src ),然后使用脚本将内容应用到它。

请参阅: http : //api.jquery.com/jquery-wp-content/themes/jquery/js/main.js (第54行及以下)。

或者只是尝试:

  document.querySelector('iframe')[0] .contentDocument.write("

Injected from parent frame

")

是的,以下是使用jQuery更改iframe的html的方法

 var context = $('iframe')[0].contentWindow.document, $body = $('body', context); $body.html('Cool'); 

演示: http : //jsfiddle.net/yBmBa/

document.contentWindow: https://developer.mozilla.org/en-US/d …

当然。 您可以使用iframe获取对iframe document对象的引用

 var doc = iframe.contentDocument; 

然后您可以像在当前文档中一样创建和添加元素。

如果iframe没有src属性,它仍将包含一个空文档。 我相信,至少旧的IE版本需要设置src属性,否则iframe将没有文档。

另请参见: iframe的contentDocument 。

看起来这是跨浏览器的最兼容的解决方案,并且它也被W3C认可

  

尝试给予:

 src ="javascript:false;" 

在javascript和jQuery中混合最佳答案,我为页面中的每个iframe提出了这个解决方案:

 
$(".iframewrapper").each(function(){ var html = $(this).attr("data-content"); var iframe = $(this).find('iframe'); var context = iframe[0].contentDocument.write(html); iframe[0].contentWindow.document.close(); //without this line, page loading animations won't go away! });