Исправить зависимости браузера с помощью компонента webBrowser в приложении Windows Forms для Visual Studio C ++ 2008? - PullRequest
0 голосов
/ 06 января 2012

Я работаю над базовой программой, и я попытался добавить работающий компонент webBrowser, чтобы дать пользователю больше гибкости и иметь возможность просматривать определенные веб-сайты из программы, однако я запустил в проблему, которую я не могу опередить.

Большинство современных веб-сайтов имеют некоторые зависимости от новых браузеров, например, если вы заходите на YouTube из компонента webBrowser, он предлагает вам перейти на более современный браузер. Есть и другие проблемы с веб-сайтом, такие как проблемы с прозрачностью, растровые изображения, отсутствующий или неправильно размещенный макет и так далее. Например, посещение StackOverflow с компонентом webBrowser делает сайт довольно странным, а логотип не прозрачным.

Я использовал этот код для вызова веб-браузера в окне:

                    this->webBrowser1->Dock = System::Windows::Forms::DockStyle::Fill;
            this->webBrowser1->Location = System::Drawing::Point(0, 0);
            this->webBrowser1->MinimumSize = System::Drawing::Size(20, 20);
            this->webBrowser1->Name = L"webBrowser1";
            this->webBrowser1->Size = System::Drawing::Size(823, 587);
            this->webBrowser1->TabIndex = 0;
            this->webBrowser1->Url = (gcnew System::Uri(L"http://www.google.com", System::UriKind::Absolute));

И этот код для перехода на определенный веб-сайт после нажатия кнопки после ввода веб-сайта в текстовое поле:

private: System::Void toolStripButton1_Click(System::Object^  sender, System::EventArgs^  e) {
                 webBrowser1->Navigate(toolStripTextBox1->Text);
             }

Мой вопрос: как вы исправляете эти зависимости? Есть ли проблема с самой Visual Studio? (Так как я использую версию 2008 года) Или он использует опции IE7 по умолчанию? Если да, как вы можете это исправить, чтобы веб-сайты загружались правильно и работали, как задумано?

1 Ответ

1 голос
/ 06 января 2012

Насколько я знаю, элемент управления WebBrowser отображает страницы в режиме по умолчанию, которым обычно является IE7, однако из вашего описания звучит так, как будто ваш элемент управления фактически отображает в режиме IE6. Что говорит о том, что на вашем компьютере разработки установлен только IE6.

Как представляется, единственным решением этой проблемы является либо добавление мета-тега на веб-страницу, либо изменение режима по умолчанию в реестре. Для получения дополнительной информации посмотрите этот пост . Это может помочь.

Лично я бы предложил использовать другой элемент управления браузером, так как вы, вероятно, никогда не сможете контролировать то, что пользователи вашего инструмента будут видеть в IE. Webkit и Gecko бесплатны и просты в использовании, обновлены и предлагают гораздо больше функциональности, если вы можете жить с дополнительными зависимостями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...