WebBrowser 컨트롤이있는 데스크톱 응용 프로그램이 있고로드 된 페이지에 JavaScript를 삽입하려고합니다. 이를 위해런타임시 jQuery를 사용하여 JavaScript를 WebBrowser에 삽입
나는이 개 스크립트 요소를 추가 :
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가 스크립트 오류 : "Object expected"를 throw합니다. jQuery (var tags = $("Body").find("*");
)를 사용하려고하는 행을 가리 킵니다.
이 오류를 방지하려면 어떻게해야합니까?
또 다른 흥미로운 점은 : alert("hello");
과 같은 것을 추가하면 모든 기능이 제대로 작동합니다.
안녕하세요 오솔, 어떻게 웹 페이지에 연결했는지 알려주실 수 있습니까? 응용 프로그램이 페이지에 연결되는 방식을 의미합니다. 나는 그것을 정말로하고 싶다. 그러나 그것을하는 방법을 이해할 수 없다. – Johnydep
WebBrowser 컨트롤에서 페이지를로드합니다. –
로컬 복사본을 어떻게로드하는지 코드를 넣을 수 있습니까? – MonsterMMORPG