我有一个VB.NET类,在Internet Explorer中使用上下文菜单扩展调用。
代码可以访问页面的对象模型,读取数据不是问题。这是测试功能的代码...它改变状态栏文本(OK),打印页面HTML(OK),通过添加文本更改HTML并再次打印页面HTML(好的,在第二个弹出窗口中)我添加的文字在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 :(得分:0)
据我所知,为了使用insertAdjacentText或任何其他编辑方法,文档对象应该处于设计模式。 在设计模式下,您可以自由编辑文档,用户也可以。 查看this网站了解更多详情
答案 1 :(得分:0)
我不认为亚历克斯是对的,其他事情就是这样。
当我尝试做类似的事情时,insertBefore对我不起作用,但是appendChild运行得很好,所以添加元素是可能的。
我在Javascript工作,但我不认为这会有所作为。