external.menuArgumentsを使用してInternet ExplorerウィンドウでHTMLを変更します
-
04-07-2019 - |
質問
Internet Explorerのコンテキストメニュー拡張で呼び出されるVB.NETクラスがあります。
コードはページのオブジェクトモデルにアクセスできるため、データの読み取りは問題ありません。これはテスト関数のコードです...ステータスバーのテキストを変更し(OK)、ページのHTMLを印刷し(OK)、テキストを追加してHTMLを変更し、ページのHTMLを再度印刷します(2番目のポップで追加したテキストは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で働いていましたが、違いが生じるとは思いません。
所属していません StackOverflow