Domanda

Ho una classe VB.NET che viene invocata con un'estensione del menu di scelta rapida in Internet Explorer.

Il codice ha accesso al modello a oggetti della pagina e la lettura dei dati non è un problema. Questo è il codice di una funzione di test ... cambia il testo della barra di stato (OK), stampa la pagina HTML (OK), cambia l'HTML aggiungendo un testo e stampa nuovamente la pagina HTML (OK, nella seconda finestra- il mio testo aggiunto è in HTML)

Ma la finestra di Internet Explorer non lo mostra. Dove sto sbagliando?

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

La funzione si chiama così da JavaScript:

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

Nessuna soluzione corretta

Altri suggerimenti

Per quanto ne so, per utilizzare insertAdjacentText o uno qualsiasi degli altri metodi di modifica, l'oggetto documento dovrebbe essere in modalità progettazione. In modalità progettazione è possibile modificare liberamente il documento, così come l'utente. Controlla questo sito per maggiori dettagli

Non penso che Alex abbia ragione, qualcos'altro è il problema.

Quando ho provato a fare qualcosa del genere, insertBefore non funzionava per me, ma appendChild ha funzionato bene, quindi è possibile aggiungere un elemento.

Ho lavorato in Javascript, ma non mi aspetto che faccia la differenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top