这是示例代码(完全正常 - 只需复制到一个空的html文件,它就可以了):
<html>
<head>
<title></title>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/redmond/jquery-ui.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>
<script type="text/javascript" language="javascript">
function Init()
{
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();
}
</script>
</head>
<body>
<div id="dlgDiv" style="width:202px; height:72px; border: solid 1px grey">
<iframe id="iView" style="width: 200px; height:70px" frameborder="0"></iframe>
</div>
<script type="text/javascript">
var dlg = null;
jQuery(document).ready(function() {
Init();
dlg = jQuery("#dlgDiv").dialog({
autoOpen: false,
bgiframe: true,
modal: true,
width: 400
})
dlg.dialog('open');
})
</script>
</body>
</html>
现在,当我在IE中运行时,我可以编辑iframe的内容;也使用IE Developer Toolbar我可以看到iframe的主体保留了我指定的类“some-class”。 但是,当在FF中运行它时,iframe不可编辑,并且当用firebug检查其DOM时,我看到iframe的主体是空的并且没有类。因此,FF对话框看起来像div的浅层副本,而不是使用div本身(dlgDiv)进行对话,或类似的东西......
基本上这意味着没有基于javasript的富文本编辑器可以在FF的jQuery对话框中工作(以及btw谷歌浏览器) - 这是一个很大的问题(到目前为止我已经尝试了两个,这就是我开始研究的方式)这个问题)!
有关我如何处理此问题的任何想法/意见/建议,我们非常感谢!
谢谢你, 安德烈
答案 0 :(得分:0)
init应该在打开之后
var dlg = null;
jQuery(document).ready(function() {
dlg = jQuery("#dlgDiv").dialog({
autoOpen: false,
bgiframe: true,
modal: true,
width: 400
})
dlg.dialog('open');
Init();
})