jquery无法在我的IE扩展中工作

时间:2011-11-09 14:03:07

标签: c# javascript jquery internet-explorer bho

我在C#中完成了IE扩展。它所做的基本工作就是在加载后修改页面内容,基本上突出显示某种类型的文本。所以我有一个onDocumentComplete处理程序,它将一些javascript添加到页面的<head>中,也是一个jquery-1.4.4.min.js:

public void OnDocumentComplete(object pDisp, ref object URL)
{
    HTMLDocument document = (HTMLDocument)webBrowser.Document;
    IHTMLElement head = (IHTMLElement)((IHTMLElementCollection)document.all.tags("head")).item(null, 0);

    IHTMLScriptElement scriptObject3 = (IHTMLScriptElement)document.createElement("script");
    scriptObject3.text = "/js/jquery-1.4.4.min.js";
    scriptObject3.type = @"text/javascript";
    ((HTMLHeadElement)head).appendChild((IHTMLDOMNode)scriptObject3);

    IHTMLScriptElement scriptObject2 = (IHTMLScriptElement)document.createElement("script");
    scriptObject2.type = @"text/javascript";
    scriptObject2.text = "(function($) {
        $.fn.replaceText=function(b,a,c) {
            return this.each(function() {
                var f=this.firstChild,g,e,d=[];
                if(f) {
                    do {
                        if(f.nodeType===3) {
                            g=f.nodeValue;
                            e=g.replace(b,a);
                            if(e!==g){
                                if(!c&&/</.test(e)) {
                                    $(f).before(e);
                                    d.push(f)
                                }
                                else {
                                    f.nodeValue=e
                                }
                            }
                        }
                    } while(f=f.nextSibling)
                }
                d.length&&$(d).remove()
            })
        }
    })(jQuery);";

    ((HTMLHeadElement)head).appendChild((IHTMLDOMNode)scriptObject2);

    ...
}

因此两个脚本都已加载但不起作用,我的意思是第二个脚本使用jquery(第一个脚本),chrome的扩展名添加了相同的脚本,所以我在想是否是IE的问题。

0 个答案:

没有答案