Pergunta

Eu tenho uma classe VB.NET que é invocada com uma extensão de menu de contexto no Internet Explorer.

O código tem acesso ao modelo de objeto da página, e leitura de dados não é um problema. Este é o código de uma função de teste ... ele muda o texto da barra de status (OK), imprime a página HTML (OK), altera o HTML, adicionando um texto e imprime novamente a página HTML (OK, na segunda pop- o meu texto adicionado é no HTML)

Mas a janela do Internet Explorer não mostrá-lo. Onde estou fazendo de errado?

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

A função é chamada assim de JavaScript:

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

Nenhuma solução correta

Outras dicas

Para o melhor de meu entendimento, a fim de utilizar insertAdjacentText ou qualquer um dos outros métodos de edição, o objeto documento deve estar no modo de design. No modo de design, você pode editar o documento livremente, e por isso pode o usuário. Verifique neste site para mais detalhes

Eu não acho que o Alex está certo, outra coisa é a questão.

Quando eu tentei fazer algo parecido, insertBefore não funcionaria para mim, mas appendChild funcionou muito bem, por isso, adicionando um elemento é possível.

Eu trabalhei em Javascript, mas eu não espero que isso faz a diferença.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top