Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Некорректная переадресация с локальных файлов


Автор: Borland_Delphi_6 22.7.2009, 14:10
Добрый  smile день. Возникла такая проблема: браузер некорректно отрабатывает редиректы из локальных страниц. Например, если попробовать создать жестком диске HTML-файл (для наглядности, пусть это будет корень диска C:\) с таким примерно содержанием:

Код

<html>
<meta http-equiv="Refresh" content="0; URL=test.php?param=1&param=2">
<body>
Эта страница должна переадресовать нас на C:/test.php?param=1&param=2
</body>
</html>



После чего загрузить это в WebBrowser:

Код

Browser.Navigate('C:\file.html');


После загрузки файла произойдет редирект, но, как это ни прискорбно, вовсе не по ожидаемому адресу C:/test.php?param=1&param=2, а просто C:/test.php, т.е. все параметры скушаются. Событие OnBeforeNavigate2 также рапортует нам о том, что переменная URL = 'C:/test.php'. Конечно, умные ребята из MS предусмотрели, что в именах локальных файлов знаки вопросиков не могут содержаться, а посему и нечего на них драгоценные байты расходовать, но они явно не задумывались обо всех возможных применениях их замечательного продукта  smile 

Подскажите, как решить эту проблему? Как узнать полный URL редиректа? Если адрес редиректа содержит "http://", то проблем никаких нет, все параметры после знака "?" сохраняются, а вот из локально загруженных страниц ничего не работает  smile

Добавлено через 1 минуту и 18 секунд
Хотел было обращаться непосредственно к тегам META, дабы вытаскивать оттуда URL, да MSDN радостно сообщил мне, дескать:

Цитата

IHTMLMetaElement::url Property
Not implemented. Sets or retrieves the IHTMLDocument2::URL property that will be loaded after the specified time has elapsed.


 smile 

Автор: dvamaster 24.7.2009, 11:49
Если тебе достаточно знать куда пришел то OnNavigateComplete2

Автор: Borland_Delphi_6 28.7.2009, 13:29
Нет, мне надо знать URL со всеми параметрами до того, как браузер попытается перейти на страницу и поймет, что ее не существует...

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