2008-10-27 85 views
3

我有一个VB.NET类,它在Internet Explorer中使用上下文菜单扩展来调用。使用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 

该功能被称为像这样从JavaScript:

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

回答

0

尽我的理解,才能使用insertAdjacentText或任何其他的编辑方法,文档对象应在设计模式。 在设计模式下,您可以自由编辑文档,用户也可以编辑文档。 检查this网站更多详情

0

我不认为亚历克斯是正确的,别的事情是这个问题。

当我试图做这样的事情,insertBefore不会为我工作,但appendChild工作得很好,所以添加一个元素是可能的。

我曾在JavaScript中工作,但我不认为这会有所作为。

相关问题