使用jQuery将插入iframe

我正在尝试通过jQuery将代码段插入到iframe中,如下所示:

var snippet = "document.writeln('test')"; jQuery('').appendTo('body').append(snippet); 

它不是在iframe中编写“test”,而是覆盖父窗口。

我怎样才能使父窗口获得插入了“test”的iframe?

如果要控制它们,则应将新窗口和iframe的源设置为“about:blank”。 然后通过iframe的ID引用它!

您还想使用iframe.contentDocument || iframe.contentWindow.document iframe.contentDocument || iframe.contentWindow.document
在你写’()之前’打开()’文件可能是个好主意。

更新:忘了这个:如果你打开窗口关于:空白,它需要时间加载..所以你不能马上写它! 因此要么将超时设置为大约50ms(通常),然后写入新窗口/ iframe。
或检查它是否已加载(onload),然后让它写入源(我更喜欢这个)。
如果您需要重用iframe,请将其设置为about:blank first(再次)并等待或再次检查onload,然后再次写入帧。 所有这一切都归功于xss安全性。
我还强烈建议使用传统的事件模型(所以没有addEvent的东西,它们不能像预期的crossbrowser一样工作并导致IE中的memoryleaks)。

所以:创建iframe并将src设置为about:blank,添加一个onload函数来检查包含你的html-string的var:如果它是空的,否则:将它写入iframe并清空字符串。
要更新iframe:将内容设置为包含html-string的var,然后将iframe的源设置为about:blank。
理解循环?

这个宝宝甚至可以在IE6中使用……

祝好运!!

更新:你没有正确地逃避你的代码片段:应该是:
见: jsfiddle

UPDATE2:argl ..我通常都不会放弃,但由于我不关心jQuery,我不会通过jQuery手册来获取像jQuery这样简单的东西(对不起)。 出于现代(蹩脚)的安全原因,您需要一个:空白。 期。

在工作中看到这个“简单的jane”基础知识的更新小提琴 ,然后看看如何在jquery中做到并做出选择:onload或setTimeout。 我正在使用我自己的crossbrowser html-editor,这个主题需要花费一周的时间来搞清楚。