如何在 WinForms 应用程序中嵌入 jQuery 以在 WebBrowser 控件中使用
How to Embed jQuery in a WinForms app to Use in a WebBrowser Control
我想在 WinForms WebBrowser 控件中使用 jQuery,但无法通过 link 到 url 访问 jQuery(即我想在我的应用程序中嵌入 jQuery 并从那里获取它)。有没有办法做到这一点?如果是这样,它需要如何嵌入(例如作为内容文件)以及使用它的 html 是什么?
看起来很简单。只需抓取文件,将其加载到脚本元素中,然后将其添加到 DOM。
以下是我的处理方式:
从这里下载:
https://code.jquery.com/jquery-2.2.4.min.js
或者在这里
https://code.jquery.com/jquery/
使用 File.ReadAllText 将其加载到文件中
然后将其插入 DOM.
这里是你如何做到的:
private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = sender as WebBrowser;
HtmlElement he = wb.Document.CreateElement("script");
string jquery = System.IO.File.ReadAllText("jquery.js");
he.InnerHtml = jquery;
wb.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.AfterEnd, he);
}
您也可以像这样从 cdn 注入它:
private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = sender as WebBrowser;
HtmlElement he = wb.Document.CreateElement("script");
mshtml.HTMLScriptElement script = he.DomElement as mshtml.HTMLScriptElement;
script.src = "https://code.jquery.com/jquery-3.1.1.min.js";
wb.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.AfterEnd, he);
}
我想在 WinForms WebBrowser 控件中使用 jQuery,但无法通过 link 到 url 访问 jQuery(即我想在我的应用程序中嵌入 jQuery 并从那里获取它)。有没有办法做到这一点?如果是这样,它需要如何嵌入(例如作为内容文件)以及使用它的 html 是什么?
看起来很简单。只需抓取文件,将其加载到脚本元素中,然后将其添加到 DOM。
以下是我的处理方式:
从这里下载: https://code.jquery.com/jquery-2.2.4.min.js 或者在这里 https://code.jquery.com/jquery/
使用 File.ReadAllText 将其加载到文件中 然后将其插入 DOM.
这里是你如何做到的:
private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = sender as WebBrowser;
HtmlElement he = wb.Document.CreateElement("script");
string jquery = System.IO.File.ReadAllText("jquery.js");
he.InnerHtml = jquery;
wb.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.AfterEnd, he);
}
您也可以像这样从 cdn 注入它:
private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = sender as WebBrowser;
HtmlElement he = wb.Document.CreateElement("script");
mshtml.HTMLScriptElement script = he.DomElement as mshtml.HTMLScriptElement;
script.src = "https://code.jquery.com/jquery-3.1.1.min.js";
wb.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.AfterEnd, he);
}