首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >than浏览器控件的行为不同于IE

than浏览器控件的行为不同于IE
EN

Stack Overflow用户
提问于 2012-11-13 23:54:14
回答 2查看 5.1K关注 0票数 0

在我的应用程序中,我使用WebBrowser-Control来显示本地HTML文件。该文件包括jQuery和自定义的js文件。

当我用IE (本地)打开文件时,一切都很正常。但是,如果我在应用程序中使用WebBrowser控件显示文件,JQuery就不能完全正常工作(有些东西可以工作,但像$.(...)addClass('abc')这样的东西就不行)。

有人知道为什么会这样吗?我使用Navigate()导航到HTML文件,然后在WebBrowser的文档上使用InvokeScript来调用使用jQuery的javascript函数。我还尝试通过导航到一个javascript:-URL来调用该函数,但效果不佳。

感谢您的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-14 00:03:43

这种可能性很小,但我见过这样的情况:尽管安装了较新版本的IE,但由于某些原因,WebBrowser控件默认使用较旧版本的IE呈现引擎。一些较旧版本的IE可能会在jquery上出现问题。

尝试添加一些js,以确保它使用的是您期望的IE版本。

http://obvcode.blogspot.com/2007/11/easiest-way-to-check-ie-version-with.html

票数 3
EN

Stack Overflow用户

发布于 2013-02-05 23:42:27

关于这个问题和解决方案,Rick Strahl写了一篇很好的文章:

http://www.west-wind.com/weblog/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

您必须设置两个注册表项,一个用于32位应用程序,另一个用于64位应用程序。

32位:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

值键: yourapplication.exe

64位:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

值键: yourapplication.exe

要将此键设置为的值为(taken from MSDN here),表示为十进制值:

9999 (0x270F) Internet Explorer9。无论!DOCTYPE指令如何,网页都以IE9标准模式显示。

9000 (0x2328) Internet Explorer 9.包含基于标准的!DOCTYPE指令的网页以IE9模式显示。

8888 (0x22B8)网页以IE8标准模式显示,与!DOCTYPE指令无关。

包含基于标准的!DOCTYPE指令的8000 (0x1F40)网页以IE8模式显示。

7000 (0x1B58)包含基于标准的!DOCTYPE指令的网页以IE7标准模式显示。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13364020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档