3

Internet Explorer のコンテキスト メニュー拡張機能で呼び出される VB.NET クラスがあります。

コードはページのオブジェクト モデルにアクセスでき、データの読み取りは問題ありません。これはテスト関数のコードです...ステータス バーのテキストを変更し (OK)、ページの HTML を印刷し (OK)、テキストを追加して HTML を変更し、ページの HTML を再度印刷します (OK、2 番目の pop-追加したテキストは 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>
4

2 に答える 2

0

私の理解の限りでは、insertAdjacentTextまたはその他の編集メソッドを使用するには、ドキュメントオブジェクトがデザインモードになっている必要があります。デザインモードでは、ドキュメントを自由に編集でき、ユーザーも自由に編集できます。詳細については、このサイトを確認してください

于 2008-11-05T20:28:59.803 に答える
0

私はアレックスが正しいとは思いません。別のことが問題です。

そのようなことをしようとすると、insertBefore は機能しませんでしたが、appendChild は問題なく機能したので、要素を追加することは可能です。

私はJavascriptで作業しましたが、それが違いを生むとは思いません。

于 2009-04-28T21:01:34.537 に答える