前段时间遇到一个问题,就是IE内核无法支持 jquery2.0x 的,但检测自己的代码,似乎是没有问题的,但就是运行部正常,经过网上的资料搜索和排查,终于发现,虽然按流程开发完毕,但实际windows调用的IE内核还是6.0的,无法使用最新的脚本代码,后来联调,将js版本降到1.6.4才正常使用。
那么问题来了,如何将IE内核设置到我需要的版本
1.首先,使用宏
#define _WIN32_IE 0x0700 // 指定要求的最低平台是 Internet Explorer 7.0。
之前以为这样就可以了,其实windows很烦。
2.修改注册表,添加应用程序使用的内核版本
具体代码如下:
CRegKey key;
DWORD dwValue = 0;
if(key.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Wow6432Node\\Microsoft\\Interne Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION")) == ERROR_SUCCESS)
{
if(key.QueryDWORDValue(_T("test.exe"), dwValue) == ERROR_SUCCESS && dwValue == 9999)
{
}
else
{
key.SetDWORDValue(_T("test.exe"), 9999);
}
key.Close();
}
if(key.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION")) == ERROR_SUCCESS)
{
if(key.QueryDWORDValue(_T("test.exe"), dwValue) == ERROR_SUCCESS && dwValue == 9999)
{
}
else
{
key.SetDWORDValue(_T("test.exe"), 9999);
}
key.Close();
}
其中test.exe就是自己的程序版本号
至此,重新跑下程序,可以正常使用2.0x脚本