2008-10-27 3 views
3

Internet Explorer에서 컨텍스트 메뉴 확장명으로 호출되는 VB.NET 클래스가 있습니다.external.menuArguments를 사용하여 Internet Explorer 창에서 HTML 수정

코드는 페이지의 개체 모델에 액세스 할 수 있으며 데이터를 읽는 데 문제가 없습니다. 이것은 테스트 함수의 코드입니다 ... 상태 표시 줄 텍스트 (OK)를 변경하고 HTML (OK) 페이지를 인쇄하며 텍스트를 추가하여 HTML을 변경하고 페이지 HTML을 다시 인쇄합니다 (OK, 내 추가 된 텍스트는 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 

기능은 자바 스크립트에서 다음과 같이 호출됩니다 내 이해의 자부합니다

<script> 
    var EB = new ActiveXObject("MyObject.MyClass"); 
    EB.CallingTest(external.menuArguments); 
</script> 

답변

0

, insertAdjacentText 또는 다른 편집 방법을 사용하기 위해, 문서 객체는에 있어야합니다 디자인 모드. 디자인 모드에서는 문서를 자유롭게 편집 할 수 있으므로 사용자도 자유롭게 편집 할 수 있습니다. 자세한 내용은 this 사이트를 확인하십시오.

0

저는 알렉스가 옳다고 생각하지 않습니다. 뭔가 다른 것이 문제입니다.

그런 식으로 처리하려고하면 insertBefore가 작동하지 않지만 appendChild는 정상적으로 작동하므로 요소를 추가 할 수 있습니다.

저는 자바 스크립트로 작업했지만 그 차이가있을 것이라고는 생각하지 않습니다.