我目前正在使用Firefox 7.0.1。我一直在研究WYSIWYG编辑器,最近发现了在可编辑文档中嵌入内容的问题。我不确定这是不是一个bug,但是当一个文件的embMed = on embeded内容时,如:
<object height="81" width="100%"> <param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F8921929"></param> <param name="allowscriptaccess" value="always"></param> <embed allowscriptaccess="always" height="81" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F8921929" type="application/x-shockwave-flash" width="100%"></embed> </object>
...页面中根本不显示。如果切换设计模式,内容显示就好了,但是否则对象没有加载,几乎不可能围绕内容进行编辑,因为你无法看到它的位置。我可以构建一个占位符,但我更希望在正在编辑的文档中显示内容。这是我在iframe中用于编辑页面的基础文档:
var HTML = '<html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body></body></html>';
以下是生成可编辑iframe文档的代码:
var editor = document.createElement('iframe');
document.getElementById(parent_id).appendChild(editor);
var editor_doc = editor.contentWindow.document || editor.contentDocument;
editor_doc.write(HTML);
editor_doc.close();
editor_doc.designMode = "On";
此问题是否有解决方案或解决方法?
答案 0 :(得分:1)
我最终解决了这个问题,解析了embed,object和param标签,并在将数据添加到文档之前将数据放在iframe中。对于使用过渡文档类型的任何人来说,这是一个很好的解决方案。