YouTube搜索错误" Google抱歉...我们很抱歉...... ...但您的计算机或网络可能会发送自动查询"

时间:2018-03-30 09:51:10

标签: search browser youtube

我在VB.Net 2008中开发了Web浏览器并升级到visual studio 2013.升级之前Web浏览器100%工作,但升级后错误来自于在Youtube中搜索的内容,如下所示。

https://www.youtube.com/results?search_query=cricket+highlights

Google抱歉......

我们很抱歉...... ...但您的计算机或网络可能正在发送自动查询。为了保护我们的用户,我们现在无法处理您的请求。 有关详细信息,请参阅Google帮助。

Youtube搜索结果在Internet Explorer,Chrome,Firefox中正常运行,但在我的网络浏览器中无效。

如何解决这个问题我坚持这一点。

Error Screenshot

1 个答案:

答案 0 :(得分:0)

最后我得到了解决方案.............

Web浏览器控件 - 默认情况下 - 永久停留在IE 7渲染模式下。尽管我们现在已经升级到IE 11和一个合理的HTML5兼容浏览器,但Web浏览器控件总是默认使用IE 7渲染引擎。这是因为ActiveX控件的原始版本使用了这种模式,并且为了向后兼容性,Control继续这种过时且非常HTML5不友好的默认值。

无论您是在WPF应用程序中使用Web浏览器控件,还是在使用ActiveX控件的WinForms应用程序中,这都适用。在幕后,所有这些UI平台都使用相同的COM接口,因此您仍然坚持使用相同的规则。

好消息是有几种方法可以覆盖默认的渲染行为:

  • 使用IE X-UA兼容的Meta标头使用特定于应用程序的

  • FEATURE_BROWSER_EMULATION注册表项

HTML修复;

<!DOCTYPE html> 
<html> 
  <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    ... other headers
  </head>
  <body>
    ... content
  </body>
</html>  

通过注册表;

转到64位或32位计算机的HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION。

或者在64位系统上转到32位的HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION(如果你拥有它们,那么将密钥添加到这两个位置都没有坏处。如果你没有拥有它们,你可以自己制作文件夹。

创建一个新的DWORD键,并将其命名为应用程序的名称,例如“myapp.exe”然后编辑密钥的值。您可以添加许多不同的值,具体取决于您要模拟的IE版本。我输入11001(十进制值 - 十六进制中的0x2AF9),它模拟IE 11(更多值位于:http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation)。

如果您像我一样使用Visual Studio,您会发现此方法可能无法正常工作。但是,它确实有效。您需要使用资源管理器或终端手动打开.exe文件,而不是在Visual Studio上运行该项目。

如果您希望在Visual Studio上运行该程序,请考虑添加“myapp.vshost.exe”的密钥,因为它用于调试。

我希望这可以帮助任何有关您的Web浏览器的任何问题的人使用错误的IE版本作为包装器或功能无法按预期工作。