Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > C# WebBrowser ссылки в файлах ресурсов


Автор: shtuceron 4.10.2012, 16:35
Добрый день,

Создал проект WinForms перетянул на форму WebBrowser создал в ресурсах два файла - один .html другой .js. Из .html файла хочу подключить внешний для него .js файл, но никак не могу разобраться с путем по которому он находится. Как можно это сделать, какой путь нужно указывать?

Код

<script src="_JSSRC_" type="text/javascript"></script>


Спасибо.

Автор: Figoro 5.10.2012, 17:00
Из HTML не получиться скорее всего подтянуть файл из ресурса. Надо делать как то так:

Код


/// Что бы был доступ из JavaScript
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
 [System.Runtime.InteropServices.ComVisibleAttribute(true)]
internal class WebPageTest
{
....
     webBrowser1.ObjectForScripting = this;

/// Тут HTML с javaScript вперемешку
//            webBrowser1.DocumentText = @"<html>
//                                            <head>
//                                          <script>" +
//                                         "function ShowMsg(message) { alert(message); } ShowMsg('Вызов функции JavaScript');" +
//            "</script></head><body>"
//            + "<button " +
//                "onclick=\"window.external.callbakFromButton('вызов из JavaScript')\">" +
//                "Кнопочка</button>" +
//                "</body></html>";


/// Тут при необходимости можем вставить скрипт из файла ресурса.
/// В данном случае в фале .js строка  <script>function ShowMsg(message) { alert(message); } ShowMsg('Вызов функции JavaScript');</script>

            Stream d = Assembly.GetExecutingAssembly().GetManifestResourceStream("[Namespace].JScript1.js");
            StreamReader reader = new StreamReader(d);
            string javaScript = reader.ReadToEnd();

            string htmlText = string.Format(@"<html><head></head>{0}<body>"
            + "<button " +
                "onclick=\"window.external.callbakFromButton('вызов из JavaScript')\">" +
                "Кнопочка</button>" +
                "</body></html>", javaScript);

            webBrowser1.DocumentText = htmlText;

/// Понятно что HTML тоже может быть из ресурса

}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)