【问题标题】:Change default webbrowser rendering mode in C#在 C# 中更改默认的 webbrowser 呈现模式
【发布时间】:2012-09-29 13:12:45
【问题描述】:

我制作了一个应用程序,它使用存储在数据库中的数据填充网络表单的字段。问题是,当 WebBrowser 加载时,会弹出 JavaScript 错误,当我尝试提交表单时它不会这样做,因为(引用):“发生错误。”

我在这里读到它默认使用 IE4:

Replacing .NET WebBrowser control with a better browser, like Chrome?

我已经尝试过了,但没有成功。无论我做什么,它似乎都坚持使用 IE7:

http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx

我想使用默认的 WebBrowser 控件,但如有必要,我可以切换到“Chrome”或“FireFox”。

【问题讨论】:

标签: c# browser rendering mode


【解决方案1】:

我之前对此做过一些调查!根据我记得读过的内容...WebBrowser 控件实际上似乎根据您安装的 IE 呈现不同,但是,它将选择 IE 的最低呈现模式。

让我解释一下:

假设您安装了 IE9...实际上可以强制 IE9 以 IE8、IE7 和 quirks 模式呈现页面。 (要对此进行测试,请进入 IE,然后按 F12。您应该会看到开发人员工具栏出现,您可以在此处更改兼容性和标准模式)。其中,您的 WebBrowser 控件可能会以 IE7 模式呈现,如果出现 HTML 错误,则可能会以 Quirks 模式呈现。

这是一个很棒的问答...How to put the WebBrowser control into IE9 into standards?

这里有一篇关于 FEATURE EMULATION 的文章,它允许您在 IE9 模式下运行 WebBrowser 控件:https://stackoverflow.com/a/5357205/1033686

希望这会有所帮助!

【讨论】:

  • 我已经尝试过更改 FEATURE EMULATION,但也没有用。错误弹出窗口说“对象不接受此属性或方法”(翻译自西班牙语,可能不完全准确)并要求我继续执行此页面中的脚本。
  • @user1569154,您是否考虑过禁止脚本错误?....msdn.microsoft.com/en-us/library/…
  • 问题是我需要javascript才能正常运行。反正我试过了,还是不行。
  • @user1569154,如果您在浏览器(IE、FireFox、Chrome 等)中测试相同的页面,它可以在这里工作吗?如果没有,请使用 FireBug(FireFox 的插件)调试错误。
  • @user1569154,从逻辑上考虑,可能是 .NET WebBrowser 控件不支持完全成熟的 JavaScript 引擎!抱歉,我不是它使用哪种引擎的专家。
猜你喜欢
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 2014-08-21
  • 2011-06-02
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
相关资源
最近更新 更多