![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Протокол TWebBrowser res://
Knuckles © (2006-11-02 11:53:00)Здравствуйте. Пользуюсь компонентом TWebBrowser (а точнее EmbeddedWB, но это не суть важно). Компонент отображает xml странички с xsl преобразованием. Очень надо запихнуть эти xsl файлы внутрь экзешника и обращаться к ним как к ресурсам.
Проблемма в том, что если в xml указать ссылку на xsl stylesheet вот в таком виде:
<?xml-stylesheet type="text/xsl" href="res://myapp.exe/RT_HTML/INFOXSL"?>
то есть с относительным путем, то ИЕ не находит этот файл. Если же прописать полный путь, то открывается без проблемм. Но полный путь, сами понимаете, прописывать просто невозможно.
Можно ли как-то отловить попытку ИЕ открыть этот файл через res:// протокол и динамически заменить строку на полный путь к программе?
Обыскал уже весь инет, обращался даже к авторам компонента, но и они не смогли помочь...
Заранее спасибо за ответы.
Virgo_Style (2006-11-02 13:48:00) [1]Knuckles (02.11.06 12:04) [3]
путь может меняться. один юзер установил в Program Files, другой еще куда-то.
что тут непонятного?
Вроде ничего, так в чем же у тебя проблема?
guav (2006-11-02 13:21:00) [2]> Можно ли как-то отловить попытку ИЕ открыть этот файл через
> res:// протокол и динамически заменить строку на полный
> путь к программе?
Можно изменить обработку протокола res или добавить обработку другого протокола для своего приложения путём создания COM-объекта, реализующего интерфейс IInternetProtocol
Anatoly Podgoretsky (2006-11-02 13:08:00) [3]> Knuckles (02.11.2006 11:53:00) [0]
Software переводится как гибкое, так что все с руках твоих.
Knuckles (2006-11-02 12:04:00) [4]
> событие onBeforeNavigate
нет. загрузка делается так
Browser.Navigate('something.xml');
вот тут происходит OnBeforeNavigate. но на этом моменте поменять строку я не могу, потому что она еще просто не загружена в браузер.
браузер загружает xml, смотрит там сслыка на стайлщит, пытается его найти. В это время собятия OnBeforeNavigate не происходит.
> не понимаю
путь может меняться. один юзер установил в Program Files, другой еще куда-то.
что тут непонятного?
Reindeer Moss Eater (2006-11-02 12:03:00) [5]загрузи оба ресурса (xml и xsl) в IXMLDomDocument, выполни трансформ и скорми браузеру готовый html
Dmitrij_K (2006-11-02 11:57:00) [6]
> Можно ли как-то отловить попытку ИЕ открыть этот файл
событие onBeforeNavigate
> Если же прописать полный путь, то открывается без проблемм.
> Но полный путь, сами понимаете, прописывать просто невозможно.
не понимаю