Добрый день. Возникла такая проблема: браузер некорректно отрабатывает редиректы из локальных страниц. Например, если попробовать создать жестком диске HTML-файл (для наглядности, пусть это будет корень диска C:\) с таким примерно содержанием:
| Код | <html> <meta http-equiv="Refresh" content="0; URL=test.php?param=1¶m=2"> <body> Эта страница должна переадресовать нас на C:/test.php?param=1¶m=2 </body> </html>
|
После чего загрузить это в WebBrowser:
| Код | Browser.Navigate('C:\file.html');
|
После загрузки файла произойдет редирект, но, как это ни прискорбно, вовсе не по ожидаемому адресу C:/test.php?param=1¶m=2, а просто C:/test.php, т.е. все параметры скушаются. Событие OnBeforeNavigate2 также рапортует нам о том, что переменная URL = 'C:/test.php'. Конечно, умные ребята из MS предусмотрели, что в именах локальных файлов знаки вопросиков не могут содержаться, а посему и нечего на них драгоценные байты расходовать, но они явно не задумывались обо всех возможных применениях их замечательного продукта
Подскажите, как решить эту проблему? Как узнать полный URL редиректа? Если адрес редиректа содержит "http://", то проблем никаких нет, все параметры после знака "?" сохраняются, а вот из локально загруженных страниц ничего не работает 
Добавлено через 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.
|
|