Сохранять содержимое WebBrowser при входе в режим разработки - PullRequest
0 голосов
/ 10 мая 2018

У меня есть этот класс расширений WebBrowser с логическим свойством с именем .DomDesignMode, которое устанавливает, находится ли DomDocument в режиме разработки или нет.

Однако, когда я устанавливаю это свойство в значение true, браузер очищает все свои предыдущиеконтент, загруженный с помощью свойства .DocumentText.

Есть ли способ перевести его в режим разработки и сохранить прежний HTML-контент?Спасибо.

Imports System.Windows.Forms
Imports mshtml

Public Class WebBrowserEx
    Inherits WebBrowser

    Private ReadOnly Property DomDocument As mshtml.IHTMLDocument2
        Get
            If Document IsNot Nothing Then
                Return Document.DomDocument
            Else
                Return Nothing
            End If
        End Get
    End Property

    Public Property DomDesignMode As Boolean
        Get
            If DomDocument IsNot Nothing Then
                Return String.Equals(DomDocument.designMode, "on", StringComparison.InvariantCultureIgnoreCase)
            Else
                Return False
            End If
        End Get
        Set(value As Boolean)
            If DomDocument IsNot Nothing Then
                DomDocument.designMode = If(value, "on", "off")
            End If
        End Set
    End Property

End Class

1 Ответ

0 голосов
/ 10 мая 2018

Теперь давайте забудем DomDocument, это то, что нужно:

WebBrowser1.Document.Body.SetAttribute("contentEditable", "true")

Большое спасибо этот ответ доступен здесь, в StackOverflow !

...