Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > кэш


Автор: Natapro 29.9.2009, 21:39
как сделать чтоб
беббраузер брал картинки не с сервера в интернете а с локального диска ?(тоесть с копьютора)

Автор: Akina 29.9.2009, 21:47
Да собсно сделать прямые ссылки. И настроить зону безопасности браузера.

Автор: Natapro 29.9.2009, 21:55
а по точнее как єто сделать и что ? вот у меня программа так в ней вкладка с веб браузером при открітии картинки тянет с сервера а как сделать чтоб с компа ?

Автор: Akina 29.9.2009, 22:00
Цитата(Natapro @  29.9.2009,  22:55 Найти цитируемый пост)
при открітии картинки тянет с сервера

При открытии ЧЕГО?

Автор: Natapro 29.9.2009, 22:36
сайта

Автор: diadiavova 30.9.2009, 12:12
Natapro, если тебе надо вызывать картинки из кэша, то возможно самым прямым путём сделать это является предварительное кэширование самого документа. Сначала грузится документ, потом он обрабатывается(меняются ссылки на картинки) и в браузер он поступает в уже изменённом виде. Но это такой геморрой smile

Автор: Akina 30.9.2009, 12:21
Нет тут геморроя, в общем-то. На форме размещается два браузера. Первый, скрытый, получает исходный документ с сайта. Программа извлекает из него innerHTML, выполняет необходимые замены и скармливает полученный исходник второму, видимому, браузеру. Который и отображает требуемую картинку.

Автор: diadiavova 30.9.2009, 12:26
Вместо двух браузеров можно подключить библиотеку mshtml и работать с ней, или использовать sgmlreader, а если использовать второй браузер, то он всё равно при загрузке документа будет грузить и всё, что к нему подключено. Тогда весь смысл теряется. Я так понимаю, Natapro просто хочет соорудить что-то типа ускорителя работы в сети, чтобы страничка быстрее грузилась и не расходовался трафик. 

Автор: Akina 30.9.2009, 13:00
Цитата(diadiavova @  30.9.2009,  13:26 Найти цитируемый пост)
если использовать второй браузер, то он всё равно при загрузке документа будет грузить и всё, что к нему подключено.

Иногда от этого никуда не деться... а если страница сложная? фреймы и прочая лабуда? 
Я так понимаю, что цель - вовсе не экономия трафика...

Автор: diadiavova 30.9.2009, 13:04
Цитата(Akina @  30.9.2009,  14:00 Найти цитируемый пост)
а если страница сложная? фреймы и прочая лабуда? 
Ну вот поэтому я и написал "геморрой".
Цитата(Akina @  30.9.2009,  14:00 Найти цитируемый пост)
Я так понимаю, что цель - вовсе не экономия трафика... 
Ну тогда надо просто подождать пояснений, потому что вопрос сформулирован в явно телепатическом стиле.

Автор: Natapro 30.9.2009, 15:32
Да цель именно в экономии трафика
ВОт вам скину саму программу чтоб могли просмотреть )

Автор: diadiavova 30.9.2009, 19:52
Natapro, в веббраузере на сколько мне известно отсутствует такая возможность. Есть, например событие FileDownload, но в нём нет информации о том, какой файл грузится и возможности его заменить другим(что, видимо, было бы логично). Если делать это при помощи каких-либо библиотек(mshtml, sgmlreader итд), то тут проблема в том, что предусмотреть все возможности вряд ли получится. Даже если при тестировании приложения всё будет работать хорошо, никогда нельзя гарантировать, что такой самописный агент пользователя будет всегда корректно отображать страницу, уж очень много там нюансов...это и фреймы и подгрузка тех же картинок через css и динамическое формирование контента(при помощи скриптов) и различия в политиках безопасности в разных областях(интернет и кэш например) и многое другое. В силу всех этих обстоятельств переделывание документов - не есть хорошо.
Естественно, возникает вполне закономерный вопрос: "А как, собственно, это делается?". К сожалению простого пути нет. Средствами контрола веббраузер невозможно решить всех проблем. Из того, что можно было бы сделать, первое, что приходит в голову - это создание локального прокси-сервера, который будет проверять наличие любого запрашиваемого ресурса в кэше и если его там нет загружать, а потом возвращать в браузер кэшированный ресурс. 
Если действительно есть проблема экономии трафика, то ИМХО лучшен айти готовую программу, благо - таковых хватает.

Автор: Natapro 2.10.2009, 00:48
а хоть что именно искать ? smile 
 и как я знаю это двиг ИЕ и значить кэш тут как в ие ? может сделать как-то чтоб проверяло если есть в кеше не качало  )
просто ненаю в какую сторону копать... smile 

Автор: diadiavova 2.10.2009, 00:53
Цитата(Natapro @  2.10.2009,  01:48 Найти цитируемый пост)
а хоть что именно искать ?
Искать нужно готовую программу и подключать её к ИЕ. Можешь, конечно поинтересоваться работой классов пространства System.Net, но боюсь: для тебя это - не выход.

Цитата(Natapro @  2.10.2009,  01:48 Найти цитируемый пост)
может сделать как-то чтоб проверяло если есть в кеше не качало  )
просто ненаю в какую сторону копать..

А я предыдущий пост зачем написал? Надо проксю майстрячить. Средствами веббраузера этого не сделаешь.

Автор: Natapro 2.10.2009, 00:58
если вас не затруднит, могли б вы поделится в приват своей асей ?  чтоб разъяснить несколько вопросов по этому поводу ?

Автор: diadiavova 2.10.2009, 01:16
Если речь о вопросах, которые по тем или иным р=причинам нельзя обсуждать в форуме, то это через почтовый ящик. Под каждым моим постом есть пимпочка PM, в остальных случаях - всё через форум.

Кстати: ICQ не пользуюсь вообще.

Автор: Natapro 2.10.2009, 11:00
ах как жаль как жаль, а может пользуетесь какими то прогами где возможно общение в реальном времени типа аси ?, ато ведь так легче чем сообщениями через почту, может агентом ?

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