我正在使用MVC3并且我的页面中有一个Iframe,并且在运行时打开了此Iframe的设计模式以进行编辑。在IE9中运行时,我无法选择Iframe可见区域之外的文本。例如:如果在我的Iframe中可以看到前7行,那么当我滚动选择第10行中的内容时,则不会进行选择。
<iframe id="RFrame" runat="server" style="width: 900px;"></iframe>
<script type="text/javascript">
Sys.Application.add_load(PageLoad);
function PageLoad() {
var frame = $get('<%=this.RFrame.ClientID%>');
$get('<%=this.RFrame.ClientID%>').contentDocument.designMode = "on";
frame.focus();
}
</script>
注意:除了IE9之外,其他所有浏览器都可以正常使用。仅当文件模式默认设置为IE9时,才会出现问题,对于激活模式IE9。
有谁能让我知道这种行为的原因或如何解决这个问题?
答案 0 :(得分:2)
您遇到的问题是由设置designMode =“on”
引起的要解决此问题,请不要设置designMode =“on”,而是设置contentEditable = true。
示例:
var editor = document.getElementById("RFrame");
editorDoc = editor.contentWindow.document;
var editorBody = editorDoc.body;
editorBody.contentEditable = true;
当兼容模式被禁用时,这也将从IE9显示的IFRAME中删除水平滚动条。