Изменить HTML в окне Internet Explorer, используя external.menuArguments
-
04-07-2019 - |
Вопрос
У меня есть класс 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, но не думаю, что это что-то меняет.