iframe没有src但仍有内容?

问题描述 投票:27回答:6

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

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

Here - for example有一个样本在Iframe下,但在调查之后,我看到iframe没有SRC

图为这一切

题 :

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

附:这个菜单还显示了一个空的内容

javascript jquery html dom iframe
6个回答
34
投票

是的,可以加载空的<iframe>(没有指定src),然后使用脚本将内容应用于它。

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

或者只是尝试:

<iframe></iframe>

document.querySelector('iframe')
        .contentDocument.write("<h1>Injected from parent frame</h1>")

6
投票

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

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

但是:ぁzxswい

document.contentWindow:http://jsfiddle.net/yBmBa/


4
投票

看起来这是跨浏览器的最兼容的解决方案,并且它被https://developer.mozilla.org/en-US/d...认可

W3C

3
投票

当然。您可以参考<iframe src="about:blank"></iframe> iframe对象

document

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

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

另见:src


1
投票

0
投票

在javascript和jQuery中混合最佳答案,我在页面中为每个src ="javascript:false;" 提出了这个解决方案:

iframe
© www.soinside.com 2019 - 2024. All rights reserved.