Изменить HTML в окне Internet Explorer, используя external.menuArguments

StackOverflow https://stackoverflow.com/questions/240419

Вопрос

У меня есть класс VB.NET, который вызывается с расширением контекстного меню в Internet Explorer.

Код имеет доступ к объектной модели страницы, и чтение данных не является проблемой. Это код тестовой функции ... он изменяет текст строки состояния (OK), печатает HTML-страницу (OK), изменяет HTML, добавляя текст, и снова печатает HTML-страницу (OK, во втором всплывающем окне). мой добавленный текст находится в HTML)

Но окно Internet Explorer не показывает его. Где я делаю не так?

Public Sub CallingTest(ByRef Source As Object)
    Dim D As mshtml.HTMLDocument = Source.document
    Source.status = "Working..."
    Dim H As String = D.documentElement.innerHTML()
    MsgBox(H)
    D.documentElement.insertAdjacentText("beforeEnd", "ThisIsATest")
    H = D.documentElement.outerHTML()
    MsgBox(H)
    Source.status = ""
End Sub

Функция вызывается так из JavaScript:

<script>
    var EB = new ActiveXObject("MyObject.MyClass");
    EB.CallingTest(external.menuArguments);
</script>

Нет правильного решения

Другие советы

Насколько я понимаю, чтобы использовать insertAdjacentText или любой другой метод редактирования, объект документа должен находиться в режиме разработки. В режиме разработки вы можете свободно редактировать документ, как и пользователь. Посетите этот сайт для получения дополнительной информации

Я не думаю, что Алекс прав, дело в другом.

Когда я пытался сделать что-то подобное, insertBefore у меня не работал, но appendChild работал просто отлично, поэтому добавление элемента возможно.

Я работал в Javascript, но не думаю, что это что-то меняет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top