如何在 Internet Explorer BHO 扩展中附加子节点?

发布于 2024-11-24 19:53:01 字数 611 浏览 0 评论 0原文

我正在移植一个 Firefox 扩展,并只是尝试将一个按钮附加到网页上的节点。但是页面上没有任何反应。我相信它必须与 HTMLDOMNode 和 HTMLElement 之间的转换有关。使用 IE dev add on 时,我什至在控制台内没有收到任何错误。

我的代码:

public void OnDocumentComplete(object pDisp, ref object URL)
    {
        HTMLDocument document = (HTMLDocument)webBrowser.Document;
        var fblike = document.getElementById("LikePluginPagelet");

        var button = document.createElement("input");
        button.setAttribute("value", "myButton");
        button.setAttribute("onClick", "doSomething()");
        ((IHTMLDOMNode)fblike).appendChild((IHTMLDOMNode)button);
    }

I am porting a firefox extension and simply trying to append a button to an node on a web page. However nothing occurs on the page. I believe it has to do something with the conversion between HTMLDOMNode and the HTMLElement. I don't even get any errors inside console using IE dev add on.

My code:

public void OnDocumentComplete(object pDisp, ref object URL)
    {
        HTMLDocument document = (HTMLDocument)webBrowser.Document;
        var fblike = document.getElementById("LikePluginPagelet");

        var button = document.createElement("input");
        button.setAttribute("value", "myButton");
        button.setAttribute("onClick", "doSomething()");
        ((IHTMLDOMNode)fblike).appendChild((IHTMLDOMNode)button);
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

香橙ぽ 2024-12-01 19:53:01

你需要让 fblike 变得动态。

public void OnDocumentComplete(object pDisp, ref object URL)
{
    HTMLDocument document = (HTMLDocument)webBrowser.Document;
    var fblike = document.getElementById("LikePluginPagelet");

    var button = document.createElement("input");
    button.setAttribute("value", "myButton");
    button.setAttribute("onClick", "doSomething()");

    dynamic fbLike = fblike
    fbLike.appendChild((IHTMLDOMNode)button);
}

You need to make fblike dynamic.

public void OnDocumentComplete(object pDisp, ref object URL)
{
    HTMLDocument document = (HTMLDocument)webBrowser.Document;
    var fblike = document.getElementById("LikePluginPagelet");

    var button = document.createElement("input");
    button.setAttribute("value", "myButton");
    button.setAttribute("onClick", "doSomething()");

    dynamic fbLike = fblike
    fbLike.appendChild((IHTMLDOMNode)button);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文