Modifica HTML in una finestra di Internet Explorer utilizzando external.menuArguments
-
04-07-2019 - |
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.