загрузка jQuery в элемент управления webbrowser из файловой системы - PullRequest
1 голос
/ 12 ноября 2009

Вот мой сценарий:

Я использую элемент управления WebBrowser в приложении WinForms для отображения данных. HTML-код подается через свойство DocumentText, и я хочу использовать jQuery для взаимодействия с содержимым. Загрузка jQuery из Интернета (API Google) работает:

фактический HTML внутри DocumentText, головной блок:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
// jquery specific functions...
</script>

Я хочу загрузить файл jQuery из файловой системы, например:

<script type="text/javascript" src="file:///E:/path/to/jquery.js"></script>

Но это не удалось. Я считаю, что это заблокировано настройками зоны безопасности IE (о: пусто, кто-нибудь?). Я пытался использовать MotW , но это тоже не работает. Как мне сделать это правильно?

Ответы [ 3 ]

3 голосов
/ 12 ноября 2009

Можно подумать о встраивании простого HTTP-сервера в ваше приложение, работающее в своем собственном потоке. Может быть, не идеален, но может просто делать то, что вам нужно.

См. Встроенный HTTP-сервер .NET или Скелет простого HTTP-сервера в C # в качестве двух примеров.

Является ли эта архитектура подходящей для вас, это отдельная история, но она может просто позволить вам локально хранить статический контент, не беспокоясь об ограничениях безопасности вашего контроля. У вас могут быть проблемы с брандмауэром, но я бы сказал, что они должны быть минимальными, так как ваши соединения по всей петле.

Надеюсь, в любом случае это заставит задуматься ...

2 голосов
/ 12 ноября 2009

Быстрое исправление # 49: создайте временные html-файлы в Path.GetTempPath() и перейдите к ним. Таким образом, существует меньше ограничений, поэтому разрешено запускать локальные ресурсы, такие как сценарии. Очистка при выходе.

Бонус: автоматическое кэширование.

0 голосов
/ 20 апреля 2014

Используйте awesomium 1 контроль веб-браузера. Он поддерживает jquery на Winforms и WPF. Это бесплатно для некоммерческих приложений. Я планирую рекомендовать его для некоторых из моих унаследованных приложений работодателей, которые вызывают головную боль с поддержкой IE8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...