1
请考虑下面的代码在插入之后消失:iframe的内容使用jQuery.append
<html>
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>
</head>
<body>
<div id="dlgDiv" style="width:202px; height:72px; border: solid 1px grey"></div>
<iframe id="iView" style="width: 200px; height:70px; border: dotted 1px red" frameborder="0"></iframe>
<script type="text/javascript">
jQuery(document).ready(function() {
var doc = document.getElementById("iView").contentWindow.document;
doc.designMode = "On"
doc.open()
doc.write("<html><head></head><body class='some-class'>Some test text</body></html>");
doc.close();
jQuery("#iView").appendTo("#dlgDiv")
})
</script>
</body>
</html>
在IE中它工作正常,并在框架(“有些测试文本”)保留测试,以及它保持它在设计模式下。 在FF/Chrome/Opera中,它清除了iframe的所有内容 - 如果您使用FireBug检查它的DOM,您可以看到iframe.body失去了它的“某些类”类以及所有文本,并且它不处于设计模式。 任何想法如何克服这个问题?原来的问题是,所有富文本编辑器都无法在这些浏览器中的jQuery.dialog中工作,并且我将问题追踪到上述事实...
这对我来说是一个真正的显示屏,任何帮助都会他高度赞赏!
谢谢 安德烈
抱歉,我不明白你的回答与我的问题有什么关系。因此-1。 iframe不仅丢失了内容,而且还丢失了designMode值和丰富的文本编辑器呈现不可用 – Andrey 2009-11-19 20:13:09
从我所看到的你不确定的javascript和jQuery中,我将通过修改来添加类。 – 2009-11-19 20:36:38