使用jQuery的iframe

我有一个纯JS的脚本,它接受代码并将其插入到iframe中:

var html = "

Some HTML to insert

" var iframe = document.getElementById('contentsframe'); iframe = (iframe.contentWindow) ? iframe.contentWindow : (iframe.contentDocument.document) ? iframe.contentDocument.document : iframe.contentDocument; iframe.document.open(); iframe.document.write(html); iframe.document.close();

我想创建一个jQuery插件,因为我经常使用这段代码,我尝试了几种方法来获取jQuery的iframe:

 var iframe = $('#contentsframe'); var iframe = $('#contentsframe').contents(); 

这两个似乎都返回了错误类型的对象,然后调用document.open,write或close。 我们知道解决方案吗?

干杯

EEF

我一直在使用你在post中提到的相同代码,没有问题。 尝试这样的事情:

 var html = "

Some HTML to insert

" var iframe = $('#contentsframe').contents().find("body").append(html);

这应该将您的代码附加到iframe的body标记的开头。

编辑:在这种情况下,var iframe将设置为iframe的body元素,这可能会令人困惑。 $(’#contentsframe’)。contents()实际上会引用整个iframe对象。

我最近写了一个应用程序,我必须做这种事情。 我在互联网上经常发帖,但没有一个对我有用。 这是我最终使用的工作。

我在主索引/框架集代码中声明的变量。

          

然后使用这样的东西我需要存储变量和访问帧。 这工作得很好,并且很好地使用了jQuery。 我对这些回复很感兴趣,因为如果可能的话,我想清理这些代码。

  if (window.parent.pageMode == 1) { $('#left', window.parent.frames['main'].document).html(''); }else{ // mode 0 $('#left', window.parent.frames['main'].document).html(''); $('#right', window.parent.frames['main'].document).html(''); }