前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于IE的webbrowser设置兼容模式的一点资料

关于IE的webbrowser设置兼容模式的一点资料

作者头像
龙泉寺扫地僧
发布2020-03-06 14:38:07
1.2K0
发布2020-03-06 14:38:07
举报
文章被收录于专栏:盟主来了盟主来了

1,https://bbs.csdn.net/topics/390764769  提到可以用ClearableListData的注册表项目

2,https://peter.bloomfield.online/changing-the-emulation-mode-of-the-microsoft-web-browser-activex-control/ 提到可以用

HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION\nlclient.exe

(For 32-bit windows, it is HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION )

3,调试发现IE8下,是在IEFRAME!CBrowserFrame::_HandleEmulate7Toggle里设置的。

IE11下不清楚,这个api没了我擦。

但IE11下经常调用MapUriToBrowserEmulationState来获取具体模拟哪个IE。

4,一些堆栈:

urlmon!CBrowserModeFilter::IsIE7Mode [d:\blue\inetcore\urlmon\browsermode\browsermodefilter.cpp @ 37]:

ChildEBP RetAddr   0ae16d74 75aaa7a3 urlmon!CBrowserModeFilter::IsIE7Mode [d:\blue\inetcore\urlmon\browsermode\browsermodefilter.cpp @ 37] 0ae16de4 63728670 urlmon!MapUriToBrowserEmulationState+0x1f8 [d:\blue\inetcore\urlmon\browsermode\utils.cpp @ 622] 0ae16e3c 631dd6f6 MSHTML!CMarkup::GetEmulationState+0x3f5 0ae16fbc 637a4c37 MSHTML!CMarkup::PrepareDwnDoc+0x208 0ae173b4 63457bee MSHTML!CMarkup::LoadFromInfo+0x121d 0ae17508 634576f7 MSHTML!CDoc::LoadFromInfo+0x4d9 0ae175dc 75a87832 MSHTML!CDoc::Load+0xef 0ae17644 75a86a7c urlmon!CBinding::ObjectPersistMnkLoad+0x1c8 [d:\blue\inetcore\urlmon\trans\cbinding.cxx @ 4574] 0ae176c0 75a97690 urlmon!CBinding::InstantiateObject+0x2f2 [d:\blue\inetcore\urlmon\trans\cbinding.cxx @ 4075] 0ae177b4 75a54264 urlmon!CBinding::OnObjectAvailable+0x20b [d:\blue\inetcore\urlmon\trans\cbinding.cxx @ 3589] 0ae177ec 75a56679 urlmon!CBinding::OnTransNotification+0x3a3 [d:\blue\inetcore\urlmon\trans\cbinding.cxx @ 2700] 0ae17820 75a5b7d0 urlmon!CBinding::ReportData+0xa9 [d:\blue\inetcore\urlmon\trans\cbinding.cxx @ 5457] 0ae17848 75a5637c urlmon!COInetProt::ReportData+0xb7 [d:\blue\inetcore\urlmon\trans\prothndl.cxx @ 1839] 0ae17884 75a56293 urlmon!CTransaction::DispatchReport+0x19e [d:\blue\inetcore\urlmon\trans\transact.cxx @ 3195] 0ae178cc 63458ee8 urlmon!CTransaction::ReportData+0x331 [d:\blue\inetcore\urlmon\trans\transact.cxx @ 630] 0ae178ec 634593fb MSHTML!CResProtocol::_ReportData+0x28 0ae17960 63459592 MSHTML!CAboutProtocol::ParseAndBind+0x1bc 0ae199a4 75a9afdb MSHTML!CAboutProtocol::Start+0x178 0ae199e4 75a52c94 urlmon!COInetProt::StartEx+0x3e9 [d:\blue\inetcore\urlmon\trans\prothndl.cxx @ 505] 0ae19eb0 75aa1640 urlmon!CTransaction::StartEx+0xebe [d:\blue\inetcore\urlmon\trans\transact.cxx @ 4396] 0ae19f30 75a54a4c urlmon!CBinding::StartBinding+0x921 [d:\blue\inetcore\urlmon\trans\cbinding.cxx @ 2315] 0ae19f7c 75a86f86 urlmon!CUrlMon::StartBinding+0x1a6 [d:\blue\inetcore\urlmon\trans\urlmon.cxx @ 1054] 0ae19fcc 025d4410 urlmon!CUrlMon::BindToObject+0xc9 [d:\blue\inetcore\urlmon\trans\urlmon.cxx @ 831] 0ae1a010 02530c70 IEFRAME!CDocObjectHost::_StartAsyncBinding+0x1da 0ae1b0c8 0253087a IEFRAME!CDocObjectHost::SetTarget+0x3cc 0ae1b110 025306de IEFRAME!CDocObjectView::_CreateViewWindow+0x130 0ae1b154 02530651 IEFRAME!CDocObjectView::CreateViewWindow3+0x5e 0ae1b234 02530df5 IEFRAME!FileCabinet_CreateViewWindow2+0x194 0ae1b25c 02530cdf IEFRAME!CBaseBrowser2::_CreateViewWindow+0x3a 0ae1b2c4 0253106f IEFRAME!CBaseBrowser2::_CreateNewShellView+0x2ae 0ae1b300 02530f38 IEFRAME!CBaseBrowser2::_CreateNewShellViewPidl+0xc4 0ae1c3a0 025d5080 IEFRAME!CBaseBrowser2::v_NavigateToPidl+0x2bd 0ae1c3d8 024321f1 IEFRAME!CShellBrowser2::_InitializeWindow+0x258 0ae1c478 024757bd IEFRAME!CShellBrowser2::_Initialize+0x244 0ae1c4a8 023fa592 IEFRAME!CShellBrowser2_CreateInstance+0x6a 0ae1f680 02439368 IEFRAME!CTabWindow::_TabWindowThreadProc+0x1ec 0ae1f740 76e32f5c IEFRAME!LCIETab_ThreadProc+0x3e7 WARNING: Stack unwind information not available. Following frames may be wrong. 0ae1f758 0fb93a31 iertutil!Ordinal425+0x26c 0ae1f790 76bc336a IEShims!IEShims_SetRedirectRegistryForThread+0x1c1 0ae1f79c 77d29902 kernel32!BaseThreadInitThunk+0xe 0ae1f7dc 77d298d5 ntdll!__RtlUserThreadStart+0x70 0ae1f7f4 00000000 ntdll!_RtlUserThreadStart+0x1b 0:026> g 0:003> k ChildEBP RetAddr   042ea340 75a7edeb urlmon!CreateBrowserEmulationFilter [d:\blue\inetcore\urlmon\browsermode\utils.cpp @ 1234] 042ea3ac 63728670 urlmon!MapUriToBrowserEmulationState+0x1d8 [d:\blue\inetcore\urlmon\browsermode\utils.cpp @ 622] 042ea404 631dd6f6 MSHTML!CMarkup::GetEmulationState+0x3f5 042ea584 637a4c37 MSHTML!CMarkup::PrepareDwnDoc+0x208 042ea97c 63abe075 MSHTML!CMarkup::LoadFromInfo+0x121d 042eaa9c 63b08e0f MSHTML!CMarkup::LoadHistoryInternal+0x7f9 042eab98 6415420c MSHTML!COmWindowProxy::ExecRefresh+0xa62 042eaba8 63e1a1c5 MSHTML!CDiagnosticsBrowser::Var_refresh+0x26 042eabd0 0742360a MSHTML!CFastDOM::CDiagnosticsBrowser::Trampoline_refresh+0x35 WARNING: Stack unwind information not available. Following frames may be wrong. 042eac40 0741705b jscript9!JsVarToExtension+0x166ba 042eac88 07419846 jscript9!JsVarToExtension+0xa10b 042eae84 07484a90 jscript9!JsVarToExtension+0xc8f6 042eaebc 07484aeb jscript9!JsVarToExtension+0x77b40 042eb0b8 07421ac9 jscript9!JsVarToExtension+0x77b9b 042eb1d8 0742154b jscript9!JsVarToExtension+0x14b79 042eb20c 75a496ac jscript9!JsVarToExtension+0x145fb 042eb820 074d222b urlmon!CSecurityManager::GetSecurityIdEx2Internal+0x378 [d:\blue\inetcore\urlmon\zones\secmgr.cxx @ 3537] 042eb8b0 0741995f jscript9!DllGetClassObject+0x4c2fb 042ebab8 07421ac9 jscript9!JsVarToExtension+0xca0f 042ebc60 0741705b jscript9!JsVarToExtension+0x14b79 042ebcac 075123d8 jscript9!JsVarToExtension+0xa10b 042ebcf0 0742154b jscript9!DllGetClassObject+0x8c4a8 042ebef8 07421ac9 jscript9!JsVarToExtension+0x145fb 042ec030 0742154b jscript9!JsVarToExtension+0x14b79 042ec068 0741705b jscript9!JsVarToExtension+0x145fb 042ec0b4 077202e5 jscript9!JsVarToExtension+0xa10b 042ec100 63b2ff3b jscript9!JsVarToScriptDirect+0x36495 042ec1b4 074167d8 MSHTML!CScriptCollection::LogFirstScriptExecutionEvent+0x40 042ec238 07421ac9 jscript9!JsVarToExtension+0x9888 042ec334 07421bf4 jscript9!JsVarToExtension+0x14b79 042ec3b0 0741705b jscript9!JsVarToExtension+0x14ca4 042ec3fc 074175b8 jscript9!JsVarToExtension+0xa10b 042ec470 074174ed jscript9!JsVarToExtension+0xa668 042ec4b8 07417480 jscript9!JsVarToExtension+0xa59d 042ec504 075b771e jscript9!JsVarToExtension+0xa530 042ec568 64162d0c jscript9!DllCanUnloadNow+0x5c19e 042ec598 64162cb5 MSHTML!CEventDispatcher::_Invoke+0x47 042ec5cc 64152085 MSHTML!CEventDispatcher::_Dispatch+0x7e 042ec5f8 63bcde8a MSHTML!CDiagnosticsExternal::OnMessage+0x7d 042ec60c 03ccf31d MSHTML!CDiagnosticsScriptEngine::FireScriptMessageEvent+0x4a 042ec644 03cd6a43 DiagnosticsTap!DllInstall+0x397d 042ec680 03cd71ec DiagnosticsTap!DllInstall+0xb0a3 042ec6ac 03cd716d DiagnosticsTap!DllInstall+0xb84c 042ec6e8 03cd73dc DiagnosticsTap!DllInstall+0xb7cd 042ec704 03cd0aeb DiagnosticsTap!DllInstall+0xba3c 042ec728 03ccb309 DiagnosticsTap!DllInstall+0x514b 042ec780 770e62fa DiagnosticsTap+0xb309 042ec7ac 770e6d3a user32!InternalCallWinProc+0x23 042ec824 770e77c4 user32!UserCallWinProcCheckWow+0x109 042ec884 770e788a user32!DispatchMessageWorker+0x3b5 042ec894 023fa94c user32!DispatchMessageW+0xf 042efa60 02439368 IEFRAME!CTabWindow::_TabWindowThreadProc+0x464 042efb20 76e32f5c IEFRAME!LCIETab_ThreadProc+0x3e7 042efb38 0fb93a31 iertutil!Ordinal425+0x26c 042efb70 76bc336a IEShims!IEShims_SetRedirectRegistryForThread+0x1c1 042efb7c 77d29902 kernel32!BaseThreadInitThunk+0xe 042efbbc 77d298d5 ntdll!__RtlUserThreadStart+0x70 042efbd4 00000000 ntdll!_RtlUserThreadStart+0x1b

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档