gpt4 book ai didi

c++ - 在 Visual Studio C++ 2008 Windows 窗体应用程序中修复浏览器与 webBrowser 组件的依赖关系?

转载 作者:行者123 更新时间:2023-11-28 08:12:10 25 4
gpt4 key购买 nike

我正在开发一个基本程序,我尝试添加一个工作的 webBrowser 组件,以便为用户提供更大的灵 active 并能够从程序中浏览某些网站,但是我已经运行陷入一个我无法解决的问题。

大多数现代网站对新浏览器都有一定的依赖性,例如,如果您从 webBrowser 组件中访问 youtube,它会告诉您升级到更现代的浏览器。还有其他网站问题,例如透明度问题、位图问题、布局丢失或错位等等。例如,使用 webBrowser 组件访问 StackOverflow 会使网站看起来很奇怪,并且 Logo 不透明。

我使用这段代码在窗口中打开了一个网络浏览器:

                    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 选项?如果是这样,您如何修复它以使网站正确加载并按预期工作?

最佳答案

据我所知,WebBrowser 控件在默认模式下呈现页面,通常是 IE7,但是,根据您的描述,听起来您的控件实际上是在 IE6 模式下呈现。这表明您的开发机器上只安装了 IE6。

似乎解决此问题的唯一方法是向网页添加元标记或更改注册表中的默认模式。有关更多信息,请查看 this post .这可能会有所帮助。

就个人而言,我建议使用不同的浏览器控件,因为您可能永远无法真正控制您的工具的用户在 IE 中看到的内容。Webkit 和 Gecko 都是免费且易于使用的,它们是最新的并且提供更多的功能,如果您可以接受额外的依赖项的话。

关于c++ - 在 Visual Studio C++ 2008 Windows 窗体应用程序中修复浏览器与 webBrowser 组件的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com