Я работаю над приложением, которое размещает элемент управления WebBrowser и сохраняет снимки веб-страниц. (C#, VS2008, IE 9, Vista. Все в актуальном состоянии. FEATURE_BROWSER_EMULATION установлен в 0x2328)Управление WebBrowser не отображает некоторые страницы
Приложение принимает список адресов и переходит к URLs один за другим и сохраняет скриншоты. Поток приложения выглядит следующим образом: Прочитайте URL-адрес из файла, сначала выберите HttpWebRequest, если он существует, и если это html-вызов webBrowser.Navigate (url), дождитесь, пока WebBrowser.ReadyState будет WebBrowserReadyState.Complete (обработайте WebBrowser.DocumentCompleted события и просто ничего не делать до тех пор, пока ReadyState не будет WebBrowserReadyState.Complete), подождите несколько секунд, чтобы быть в безопасности (проверено до 10 секунд), сохранить снимок экрана и перейти к следующему URL-адресу. Он работает должным образом для почти всех ссылок (страниц из разных сайтов), но WebBrowser внедренных в моем приложении не делают некоторые URLs, особенно страниц из www.securityfocus.com, например: http://www.securityfocus.com/bid/52023
Я попытался инвалидизирующим кэш, очистка кеш перед каждым запросом, подождите до 10 секунд, чтобы дать ему некоторое время для рендеринга и т. д. безрезультатно. Я наглядно подтвердил, что WebBrowser не отображает страницу, это не проблема, связанная с сохранением скриншота (я использую BitBlt, но я не думаю, что это имеет значение). Страница отображается обычным образом с помощью IE.
Пожалуйста, дайте мне знать, если у вас есть какие-либо рекомендации относительно того, почему это происходит. Заранее спасибо
Страница рендеринга просто в IE, достаточно ли расширен WebBrowser? Может быть, попробуйте максимизировать окно? –