external.menuArgumentsを使用してInternet ExplorerウィンドウでHTMLを変更します

StackOverflow https://stackoverflow.com/questions/240419

質問

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で働いていましたが、違いが生じるとは思いません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top