![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Всётаки фрейм
Леопольд (К) © (2003-05-24 10:37:00)Как остановить фрейм в TWebBrowser, зная его имя, сразу после инициализации, но до загрузки текста страницы в фрейм (чтобы потом подставить свой текст под все исходные ссылочки).
Если можно пример?
Леопольд (К) (2003-05-25 18:35:00) [1]>sergey2
Всё правильно понял. Как это воплотить?
sergey2 (2003-05-25 16:34:00) [2]2 Ihor Osov"yak Возможно я не так понял что человек хотел сделать, но я пользовался OnTranslateUrl для подмены фрейма. Конечно он не срабатывает на каждой ссылке в тексте, но срабатывает перед началом загрузки каждого фрейма подобно OnBeforeNavigate2. Я пробовал им делать чтобы например в сайте где несколько фреймов вместо одного из них загружалось нечто свое. Ну а так как Леопольд (К)хочет остановить фрейм до загрузки текста страницы, то я понял что этот текст ему не нужен, т.е. ему нужна не модификация текста а подмена его на нечто заранее созданое. А вообще ИМХО он не до конца объяснил что он хочет.
Ihor Osov'yak (2003-05-25 14:22:00) [3]2 sergey2 (25.05.03 12:56)
from msdn:
IDocHostUIHandler::TranslateUrl Method
Called by MSHTML to allow the host an opportunity to modify the URL to be loaded.
То есть, эта распространяется на урлики, которые собираемся грузить. А не на все ссылки в тексте.. (маленькая оговорка - с этой техникой я не работал, так что можете все-же проверить :-)
Зы - а в общем-то это задача модификация текста страницы до получения ее броузером. Здесь уже неоднократно обсуждалась.
Или встроенный в свою апликацию простенький прокси, или Asynchronous Pluggable Protocols ...
sergey2 (2003-05-25 12:56:00) [4]Думаю тебе нужно вот это:
Юзаешь event OnBeforeNavigate2
и пишешь там
if targetframename="имя фрейма" then cancel:=true;
Но если ты хочешь там ырейм подменять на что-то другое, то лучше ставь TEmbeddedWB и юзай event OnTranslateURL (насколько мне не изменяет память)