Нашёл в нете несколько примеров реализаций программ, использующих HTML как интерфейс, понравилось, и поначалу какжется, что также сделать не сложно, но.... Везде описано про загрузку HTML, про использование res://, но это совсем неудобно. Хотелось бы, чтобы при загрузке документа, встреченные картинки (а желательно ещё и js-скрипты) дозагружались из отдельного источника. На примере: чтобы получился один независимый exe-файл и плюс ещё один файл со всеми ресурсами (например zip-архив), а программа сама скармливала дополнительные ресурсы по мере того, как они попадаются при загрузке документа.
Возможно ли такое вообще сделать?
Re: Перехват загрузки изображений из TWebBrowser builder/del
Здравствуйте, JumangeeNET, Вы писали:
JNE>Нашёл в нете несколько примеров реализаций программ, использующих HTML как интерфейс, понравилось, и поначалу какжется, что также сделать не сложно, но.... Везде описано про загрузку HTML, про использование res://, но это совсем неудобно. Хотелось бы, чтобы при загрузке документа, встреченные картинки (а желательно ещё и js-скрипты) дозагружались из отдельного источника. На примере: чтобы получился один независимый exe-файл и плюс ещё один файл со всеми ресурсами (например zip-архив), а программа сама скармливала дополнительные ресурсы по мере того, как они попадаются при загрузке документа. JNE>Возможно ли такое вообще сделать? Вот это не подойдет?
Здравствуйте, JumangeeNET, Вы писали:
JNE>Возможно ли такое вообще сделать?
По моему вам нужно Asynchronous Plugable Protocol.
В принципе то, что вы описали делается с его помощью. У вас будут Url вида <img src="myres://Root/ssubfolder/subfolder2/some_picture.png" />
Весь путь начиная от myres:// можно держать в такой же структуре в zip-файле. Неважно также и то, на что ссылается тот или иной url. Это может быть и тот же script.
Имейте ввиду только то, что есть проблемы при загрузке страниц из интернета. Если в таких страницах будет ссылка на ресурсы вашего протокола, то ваши ресурсы загружаться не будут. У меня такое было, по причине того, что мои ресурсы лежали локально (на стороне клиента так сказать). Разные домены так сказать. А это по умолчанию запрещено. Хотя при написании своего протокола это все решаемо. Поищите здесь на RSDN по ключевому слову PARSE_SECURITY_URL.
p.s.
По мимо всего прочего можно dll (в которой реализован протокол) грузить и регистрировать "на лету" при старте приложения. Во всяком случае у меня на XP такое работало.
Re: Перехват загрузки изображений из TWebBrowser builder/del
Здравствуйте, JumangeeNET, Вы писали:
JNE>Нашёл в нете несколько примеров реализаций программ, использующих HTML как интерфейс, понравилось, и поначалу какжется, что также сделать не сложно, но....
А вообще-то может вам глянуть в сторону Htmlayout? Здесь есть целый форум про эту библиотеку. Сам автор присутствует. За примерами далеко ходить не надо. Интерфейс того же Norton Antivirus построет на этой самой библиотеке. Плюс еще в том, что вы получите кучу всяких GUI "бонусов" в виде новых HTML возможностей, которых нет в стандартном WebBrowser, основанном на движке IE. Да и нет "привязки" к COM — одна dll в корне вашего приложения без всякой необходимости регистрации и прочего COM-неудобства.
И ваш случай там тоже реализуется гораздо проще.
Скачайте библиотеку с примерами — здесь. Запустите browse.exe и посмотрите через него примеры, которые идут вместе с библиотекой. Найдете массу интересного .
Re[2]: Перехват загрузки изображений из TWebBrowser builder/
Здравствуйте, Carc, Вы писали:
JNE>>Нашёл в нете несколько примеров реализаций программ, использующих HTML как интерфейс, понравилось, и поначалу какжется, что также сделать не сложно, но.... Везде описано про загрузку HTML, про использование res://, но это совсем неудобно. Хотелось бы, чтобы при загрузке документа, встреченные картинки (а желательно ещё и js-скрипты) дозагружались из отдельного источника. На примере: чтобы получился один независимый exe-файл и плюс ещё один файл со всеми ресурсами (например zip-архив), а программа сама скармливала дополнительные ресурсы по мере того, как они попадаются при загрузке документа. JNE>>Возможно ли такое вообще сделать? C>Вот это не подойдет?
Здравствуйте, Nikolaz, Вы писали:
JNE>>Нашёл в нете несколько примеров реализаций программ, использующих HTML как интерфейс, понравилось, и поначалу какжется, что также сделать не сложно, но.... N>А вообще-то может вам глянуть в сторону Htmlayout? Здесь есть целый форум про эту библиотеку. Сам автор присутствует. За примерами далеко ходить не надо. Интерфейс того же Norton Antivirus построет на этой самой библиотеке. Плюс еще в том, что вы получите кучу всяких GUI "бонусов" в виде новых HTML возможностей, которых нет в стандартном WebBrowser, основанном на движке IE. Да и нет "привязки" к COM — одна dll в корне вашего приложения без всякой необходимости регистрации и прочего COM-неудобства. N>И ваш случай там тоже реализуется гораздо проще.
Попробовал, понравилось, но передо мной задача найти удобную форму "распространения" большой хтмл+яваскрипт программы, и такую вот программу htmllayout похоже не "переваривает" — в browse.exe html открылся, но яваскрипт похоже не заработал
Re[2]: Перехват загрузки изображений из TWebBrowser builder/
Здравствуйте, Nikolaz, Вы писали:
N>По моему вам нужно Asynchronous Plugable Protocol. N>В принципе то, что вы описали делается с его помощью. У вас будут Url вида <img src="myres://Root/ssubfolder/subfolder2/some_picture.png" /> N>Весь путь начиная от myres:// можно держать в такой же структуре в zip-файле. Неважно также и то, на что ссылается тот или иной url. Это может быть и тот же script.
Спасибо! Вроде бы это то, что нужно, осталось теперь только реализовать его на билдере к которому привычен
Re: Перехват загрузки изображений из TWebBrowser builder/del
Здравствуйте, Unhandled_Exception, Вы писали:
JNE>>Возможно ли такое вообще сделать? U_E>можно boxedapp взять. насоздавать все файлы (html, jpg, js) в виде виртуальных файлов в памяти.
Спасибо, попробовал, но f-in (подпроект boxedapp?) не обманул twebbrowser, к тому же библиотека платная