我有一个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。但是,我的文档模式设置不正确。我需要将其设置为文档标准模式。
我检查过,注册表值设置正确。我不知道在这一点上可以做些什么。有没有人有任何建议?
谢谢, Harit
答案 0 :(得分:0)
无论doctype如何,您都希望使用代码10001强制IE 10。
您确定要根据系统类型设置Correct Reg Key值吗?对于32位或64位系统,密钥位于两个不同的位置。仔细检查并使用10001代码。
除了文档之外,无论IE 10模式中显示什么,都应该始终如此。
答案 1 :(得分:0)
后续步骤:-) 您是否正在使用强制兼容模式的旧版或第三方控件?有些人使用IE8之前的IE特定API来做这件事。
您使用的是某些浏览器特定的CSS黑客攻击吗?那些可以抛弃doctype。
您是否能够控制doctype并将doctype设置为控件中呈现的页面上的html标准?如果您使用标准的IE 10 doctype并仍然获得兼容模式?()
因为它是一个控件,我假设你没有条件注释,那些也可以抛弃它,所以如果你的代码确实有IE条件注释,它们可以填充doctype。
如果是这样,那么其他东西就是迫使浏览器进入兼容模式。我会开始删除第三方控件,或CSS文件,甚至包括Javascript文件,直到您获得正确的doctype并隔离将doctype置于错误模式的确切问题。
你可以通过渲染一个直接的html进行测试,正确设置doctype,来自你的exe的示例页面,没有外部链接或第三方控件,只是页面上的文本。这是否正确呈现?
只是一些提示可以隔离有问题的东西。