【问题标题】:How to create a floating div in BHO dynamically?如何在 BHO 中动态创建浮动 div?
【发布时间】:2010-09-03 06:47:50
【问题描述】:

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

我只想为 DIV 注入一个 HTML 代码 sn-p,它将在页面上显示“Hello World”。 div 应该有绝对位置样式。

-达特

【问题讨论】:

标签: c# html bho css-float


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我用:

    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标签并将你的js设置在onload=""标签中,这样浏览器就会执行你的js。或者你可以使用:

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

    我用它插入外部js文件一次,我觉得效果很好。

    【讨论】:

      猜你喜欢
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多