У меня есть настольное приложение с контролем 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 выдает Script Error: «Ожидается объект».и указывает на строку, где я пытаюсь использовать jQuery (var tags = $("Body").find("*");
).
Как я могу предотвратить эту ошибку?
Еще одна интересная вещь: если я добавлю что-то вроде alert("hello");
, чтобы начатьиз моей функции все работает отлично.