jQuery添加带有内容的iFrame

kra*_*ich 15 iframe jquery fancybox

我有这样的问题.我需要在fancybox中打开iframe(我需要iframe,因为我需要浏览已打开文档中的链接并保留在fancybox中),但是我想将内容放入iframe变量中,而不是通过src属性(我已经有了内容)通过AJAX(在将内容放到iframe之前我需要对内容进行一些检查,所以没有办法做它而不是AJAX查询),所以我不再需要一个查询).

Fancybox不允许将'content'属性与'type'一起使用:'iframe'.所以我决定动态创建iframe,将我的内容插入其中,并将fancybox的iframe显示为常规块.

就像是

jQuery('<iframe id="someId"/>').appendTo('body').contents().find('body').append(content);
Run Code Online (Sandbox Code Playgroud)

然后

jQuery('<iframe id="someId"/>').fancybox();
Run Code Online (Sandbox Code Playgroud)

但第一部分不起作用.我可以看到添加到页面但没有任何内容的iframe(我在可变内容中有完整的html页面,但是当我尝试仅添加一些文本时它也不起作用).

我做错了什么?也许有另一种方法可以做我需要的东西?

感谢您的意见!

小智 18

调用jquery的ready方法之后你的问题就解决了

<script type="text/javascript">
$(function(){
$('<iframe id="someId"/>').appendTo('body');
$('#someId').contents().find('body').append('<b>hello sajjad</b>');
});
</script>

<iframe id="someId"></iframe>
Run Code Online (Sandbox Code Playgroud)


Mar*_*row 4

如果将该行分成两部分会发生什么:

jQuery('<iframe id="someId"/>').appendTo('body');
jQuery('#someId').contents().find('body').append(content);
Run Code Online (Sandbox Code Playgroud)

然后在创建新的 iframe 之前将选择器更改为正确的,而不是将其插入到 DOM 中并在其上调用 fancybox,但这应该可以工作:

jQuery('#someId').fancybox();
Run Code Online (Sandbox Code Playgroud)