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! });