Невозможно выделить текст, оставленный в Iframe за пределами видимой области - PullRequest
0 голосов
/ 30 января 2012

Я использую MVC3, и у меня есть Iframe на моей странице, и режим разработки для этого Iframe включен для редактирования во время выполнения. во время работы в IE9 я не могу выделить текст за пределами видимой области Iframe. Например: если первые 7 строк видны в моем Iframe, то когда я прокручиваю, чтобы выбрать содержимое в 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, для режима Bowser IE9.

Может кто-нибудь сообщить мне причину такого поведения или как решить эту проблему?

1 Ответ

2 голосов
/ 20 апреля 2012

Проблема, с которой вы столкнулись, вызвана установкой designMode = "on"

Чтобы исправить эту проблему, не устанавливайте designMode = "on", вместо этого установите contentEditable = true.

Пример:

var editor = document.getElementById("RFrame");
editorDoc = editor.contentWindow.document;          
var editorBody = editorDoc.body;
editorBody.contentEditable = true;

Это также удалит горизонтальную полосу прокрутки из рамки, отображаемой IE9, когда режим совместимости отключен.

...