2017-02-07 1 views
0

Я хотел бы использовать jQuery в элементе управления WinForms WebBrowser, но без доступа к jQuery через ссылку на URL-адрес (т.е. я хочу вставить jQuery в свой приложение и получить его оттуда). Есть ли способ сделать это? Если да, то как его нужно встраивать (например, в файл содержимого) и что такое html для его использования?Как вставить jQuery в приложение WinForms для использования в элементе управления WebBrowser

ответ

1

Кажется довольно прямолинейным. Просто возьмите файл, загрузите его в элемент сценария и добавьте его в 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 = webBrowser1.Document.CreateElement("script"); 
     string jquery = System.IO.File.ReadAllText("jquery.js"); 
     he.InnerHtml = jquery; 
     wb.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.AfterEnd, he); 

    } 

Вы можете также вводить его из КДС так:

private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 

     WebBrowser wb = sender as WebBrowser; 
     HtmlElement he = webBrowser1.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); 

    } 
+0

Вы также можете получить его через КДС. –

+0

Спасибо. Пробовал ваши предложения, но столкнулся с этими проблемами: (1) открыл файл 2.2.4.min после загрузки, просто чтобы посмотреть на него и получил ошибку в строке 2 char 7332, в которой «n» является нулевым или не является объектом (код: 800A138F). (2) создание элемента сценария в обработчике событий DocCompleted с использованием 1-го подхода заставил обработчик события завершить работу перед выполнением другого кода, который у меня есть. (3) обходит # 2, напрямую добавляя скрипт в мой исходный код html (содержимое файла заключено в квадратные скобки с помощью тегов

Смежные вопросы