WebBrowser控件IE 10文档标准模式
本文关键字:标准 模式 文档 控件 IE WebBrowser | 更新日期: 2023-09-27 18:21:04
我有一个Windows Form C#应用程序,其中包含一个WebBrowserControl。应用程序的用户将在他们的机器上安装IE 11。我需要强制他们使用IE 10文档标准模式。我知道我可以通过使用FEATURE_BROWSER_EMULATION来做到这一点,如中所述:http://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx#browser_emulation
问题是,我能够使用10001和/或10000注册表值强制用户使用IE10。但是,我的文档模式设置不正确。我需要将其设置为文档标准模式。
我已经检查过,注册表值设置正确。我不确定在这一点上能做些什么。有人有什么建议吗?
谢谢,哈里特
无论doctype如何,您都希望使用代码10001始终强制IE 10。
您确定要根据系统类型设置"正确注册表项"值吗?对于32位或64位系统,密钥位于两个不同的位置。仔细检查,就会使用10001代码。
除此之外,根据文档,无论在IE 10模式下显示什么,都应该始终如此。
G
下一步::-)您使用的是会强制兼容模式的旧控件还是第三方控件?有些人在IE8之前使用特定于IE的API。
你在使用一些特定于浏览器的CSS技巧吗?这些可能会使doctype失效。
您是否能够在控件中呈现的页面上控制doctype并将doctype设置为html标准?如果你像这样使用标准的IE 10 doctype,并且仍然处于兼容模式?()
由于它是一个控件,我假设您没有条件注释,这些注释也可能会丢弃它,所以如果您的代码中确实有IE条件注释,则可以丢弃doctype。
如果是这样的话,那么其他的东西正在迫使浏览器进入兼容模式。我会开始删除第三方控件、CSS文件,甚至包括Javascript文件,直到您获得正确的doctype并隔离将doctype置于错误模式的确切问题。
您可以通过从exe中呈现一个直接的html(doctype设置正确)示例页面进行测试,该页面没有外部链接或第三方控件,只有页面上的文本。这渲染正确吗?
只是一些暗示来隔离冒犯的东西。