如何在BHO中动态创建浮动div?

时间:2009-10-15 08:53:35

标签: c# html bho css-float

如何使用BHO和C#.NET在加载的网页中创建浮动DIV?

我只想为DIV注入一个HTML代码片段,在页面上显示“Hello World”。 div应该具有绝对的位置风格。

-Datte

2 个答案:

答案 0 :(得分:1)

只需接收documentcomplete事件,获取已完成文档的父窗口并在窗口对象上调用ExecScript。 对于将HTML注入文档的javascript代码,请检查IE SDK中的DHTML引用或查找像jquery这样的开源DHTML类库并阅读其代码。

答案 1 :(得分:1)

我用:

HTMLDocument document = (HTMLDocument)webBrowser.Document;
IHTMLElement body = (IHTMLElement)document.body;
body.insertAdjacentHTML("afterBegin", "html code");

我认为这不会运行<style>标签,但您可以使用

<div style="position:absolute;z-index:2000000;top:50%;left:50%;width:300px;height:300px;margin-top:-150px;margin-left:-150px;background:#000;">Hello World</div>

但是你不能以这种方式执行js,我找到了一个解决方法,你可以插入一个iframe标签并在onload =“”标签中设置你的js,这样浏览器就会执行你的js。或者您可以使用:

document.parentWindow.execScript("alert('a')");

我用它来插入外部js文件一次,我觉得它运行正常。