Ändern Sie HTML in einem Internet Explorer-Fenster mit external.menuArguments
-
04-07-2019 - |
Frage
Ich habe eine VB.NET-Klasse bekommt, die mit einem Kontextmenü Erweiterung in Internet Explorer aufgerufen wird.
Der Code hat Zugriff auf das Objektmodell der Seite, und das Lesen von Daten ist kein Problem. Dies ist der Code einer Testfunktion ... es ändert sich die Statusleiste Text (OK), druckt die Seite HTML (OK), ändert sich die HTML durch Hinzufügen eines Text und druckt die Seite erneut HTML (OK, in der zweiten Pop- up my zusätzlicher Text im HTML)
Aber das Internet Explorer-Fenster zeigt es nicht. Wo mache ich falsch?
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
Die Funktion wie diese von JavaScript aufgerufen wird:
<script>
var EB = new ActiveXObject("MyObject.MyClass");
EB.CallingTest(external.menuArguments);
</script>
Keine korrekte Lösung
Andere Tipps
Um das Beste aus meinem Verständnis, um insertAdjacentText oder eine der anderen Bearbeitungsmethoden zu verwenden, sollte das Dokument Objekt im Design-Modus. Im Design-Modus können Sie das Dokument frei, bearbeiten und so kann der Benutzer. Prüfen Sie dieser Website für weitere Details
Ich glaube nicht, dass Alex richtig ist, etwas anderes ist die Sache.
Als ich versuchte, so etwas zu tun, insert wäre für mich nicht funktionieren, aber appendChild funktionierte gut, so dass das Hinzufügen eines Element möglich.
arbeitete ich in Javascript, aber ich erwarte nicht, dass ein Unterschied macht.