【发布时间】:2010-07-23 15:05:03
【问题描述】:
我有带有 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);
}
您首先看到的是对 jQuery 的引用,因为我在脚本中使用了它。当我尝试使用 _webBrowser.Document.InvokeScript 从我的脚本调用函数时,WebBrowser 抛出
脚本错误:“预期对象”。并指向我尝试使用 jQuery (var tags = $("Body").find("*");) 的行。
我怎样才能防止这个错误?
另一件有趣的事情:如果我在函数的开头添加类似alert("hello"); 的内容,一切正常。
【问题讨论】:
标签: c# .net jquery winforms webbrowser-control