代码之家  ›  专栏  ›  技术社区  ›  Denis Palnitsky

在运行时将带有jQuery的JavaScript注入WebBrowser

  •  2
  • Denis Palnitsky  · 技术社区  · 14 年前

    我有一个带有WebBrowser控件的桌面应用程序,并尝试将JavaScript注入到加载的页面中。

    为此,我添加了两个脚本元素:

    private static void AddJQueryElement(HtmlElement head)
    {
        HtmlElement scriptEl = head.Document.CreateElement("script");
        IHTMLScriptElement jQueryElement = (IHTMLScriptElement)scriptEl.DomElement;
        jQueryElement.src = @"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js";
    
        head.AppendChild(scriptEl);           
    }
    
    private static void AddScriptElement(HtmlElement head)
    {
        HtmlElement scriptEl = head.Document.CreateElement("script");
        IHTMLScriptElement myScriptElement = (IHTMLScriptElement)scriptEl.DomElement;
        myScriptElement.src = @"file:///c:\JScript.js";
        head.AppendChild(scriptEl);
    }
    

    _webBrowser.Document.InvokeScript 脚本错误:“需要对象”。并指向我尝试使用jQuery的行( var tags = $("Body").find("*"); ).

    另一件有趣的事:如果我加上 alert("hello");

    2 回复  |  直到 13 年前
        1
  •  1
  •   Denis Palnitsky    14 年前

    没有得到正确答案,但是通过使用jquery.min.js的本地副本解决了问题。

        2
  •  0
  •   ryan    14 年前

    $(document).ready(function() {
      // Handler for .ready() called.
    });