天道酬勤,学无止境

Windows Edge 浏览器会放弃兼容模式吗?(Does Windows Edge browser drop the Compatibility mode?)

问题

我们一直在IE中的 html 中使用与x-ua-compatible元标记来强制客户端使用IE-9

这将不再起作用吗?

本文建议元标记不会被忽略并强制使用新的Edge模式。

http://blogs.windows.com/msedgedev/2014/11/11/living-on-the-edge-our-next-step-in-helping-the-web-just-work/

回答1

那篇文章很旧,微软后来改变了立场(大约 2 月至 3 月)。 Edge 不会负担 IE 兼容功能。 它只有一个渲染引擎。

如果您需要 IE9 特定功能,则必须使用 IE11,该功能将包含在 Windows 10 中用于此类遗留用途。

回答2

在 MS Edge 中将不再有不同的文档模式。 Edge 将始终使用当前最新/“实时”文档模式(如您提到的博客文章中所述)。

MS Edge 不支持其他几种较旧的技术,例如 ActiveX。 http://blogs.windows.com/msedgedev/2015/05/06/a-break-from-the-past-part-2-saying-goodbye-to-activex-vbscript-attachevent/上有一个列表

该列表还对每种技术进行了解释。 例如“文档模式”:

存在的原因:从 IE8 开始,Internet Explorer 在每个版本中都引入了新的“文档模式”。 可以通过 x-ua-compatible 标头请求这些文档模式,以将浏览器置于模拟旧版本的模式。

为什么我们不再需要它:与其他现代浏览器类似,Microsoft Edge 将有一个单一的“活动”文档模式。 为了尽量减少兼容性负担,功能将在 about:flags 中的开关后面进行测试,直到它们稳定并准备好默认开启。

您可以在 https://msdn.microsoft.com/en-us/library/dn904497%28v=vs.85%29.aspx 上找到有关此主题的更多信息

在 Microsoft Edge 中,大多数 Internet 站点将忽略开发人员通过 x-ua 兼容标头启动的文档模式切换,它们将使用 EdgeHTML 引擎呈现。

希望这可以帮助。

回答3

是的,Edge 确实放弃了兼容模式。 相反,您可以选择在 IE 中查看某些网站。 对我来说,我不想运行多个浏览器。 因此,在 MS 决定将用户放在首位之前,我将坚持使用 IE。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Microsoft EDGE 浏览器忽略企业模式列表(Microsoft EDGE browser ignoring Enterprise Mode list)
    问题 由于 EDGE 似乎是 Windows 10 的“默认”浏览器,我们需要一种方法来“强制”EDGE 在 IE 模式下打开我们的网站,或者至少引导用户在 IE 中打开网站。 EDGE 似乎忽略了“X-UA-Compatible”元数据,我们托管的网站是“Microsoft”内置的远程应用程序服务,它使用 Microsoft 远程桌面,这意味着“ActiveX 控件”。 我们尝试使用“企业模式”https://msdn.microsoft.com/en-us/library/Dn872481.aspx 但这似乎不适用于 EDGE 并且这确实不是一个好的解决方案,因为我们没有控制我们域外机器上的组策略。 我们现在唯一的选择是告诉用户将他们的默认浏览器设置为 IE,但这是一个蹩脚的选择。 回答1 Microsoft Edge 除了本机模式之外没有任何其他“文档模式”,因此它忽略了 X-UA-Compatible。 我能想到三个选项: 尝试将您的站点添加到 Microsoft 的兼容性列表中,以便 Edge 要求访问者在 IE 中打开站点。 (我看到您评论了是否有任何方法可以通过 Internet Explorer 从 MS Edge 浏览器打开特定的 Web 应用程序?所以您可能已经尝试过了。) 让您的网站在 Edge 中运行。 这可能会也可能不会,具体取决于它是否使用任何特定于
  • 使用模式在网站上的良好做法?(Using <meta http-equiv=“X-UA-Compatible” content=“IE=8” /> mode in sites good practice?)
    问题 我最近发现了将以下内容添加到网站标题中的乐趣: <meta http-equiv="X-UA-Compatible" content="IE=8" /> 网站可以正常工作,CSS很漂亮,生活也很美好。 但是我有点担心这是一种好的做法? 如果安装了IE7的旧计算机呢? 那个版本的IE7可以实际访问IE8标准模式吗? 回答1 问题最后一部分的简短答案是“否”:无法使IE7在IE8模式下工作。 因此,使用X-UA-Compatible标头不会迫使IE的较旧版本认为它们是较新的版本。 (如果可行,我们所有人都可以开始使用content="IE-10"并永远担心向后兼容性) X-UA-Compatible标志的作用是告诉IE的较新版本退回到兼容模式以模仿较旧的版本。 因此,因此,您的content="IE-8"标志将不会对IE7或IE8产生任何影响,但会使IE9退回到IE8模式。 这意味着IE9将以试图向后兼容的名义有效地放弃其较新的功能。 如果这是IE9所需要的,则一定使用X-UA-Compatible标头。 如果不是您想要的,请不要使用它。 (值得注意的是,已知IE中的向后兼容模式并不是很好地与他们试图模仿的版本的真实副本100%兼容,因此请不要以为您会获得完美的副本IE8也可以在IE9中运行-它具有与普通模式下的IE8或IE9不同的怪癖) 回答2 要注意的另一件事是
  • 区分IE7浏览器和IE7兼容模式下的浏览器(Differentiate IE7 browser and browser in IE7 compatibility mode)
    问题 我可以在 IE7 兼容模式下区分客户端的浏览器是 IE7 还是 IE9 吗? 我想弄清楚我是否可以在我的网站上做一个 JS 检查,它会识别两种不同的东西并根据结果做不同的事情 那个浏览器是IE7 该浏览器处于 IE7 兼容模式 我有第一个条件正常工作,因为几乎到处都在说如何做到这一点。 不确定第二个和/或两者的组合。 回答1 至少对于IE8和IE9,你可以检查navigator.userAgent中是否有子字符串Trident 。 IE8+ 的用户代理中总是有一个Trident ,而 IE7 没有。 请参阅此答案和其中的 MSDN 链接。 IE10 似乎更棘手:据下面的评论报道, Trident并不总是与 IE7 仿真模式一起出现。 如果 IE10 在 IE7 可用的任何平台上不可用,操作系统字符串(例如Windows NT 6.2 )可能仍会显示 IE10。 另请注意,HTTP User-Agent标头可能并不总是匹配navigator.userAgent 。 至少在启用了兼容模式(发送 IE7 User-Agent标头)但在响应中检测到诸如IE=Edge类的东西的 IE9 是这种情况( navigator.userAgent返回到 IE9)。 回答2 我不相信有一种方法可以检测用户的浏览器是否处于兼容模式。 他们的用户代理字符串将由他们的浏览器模式决定
  • 如何将IE11文档模式设置为默认边缘?(How to set IE11 Document mode to edge as default?)
    问题 我的计算机上安装了Internet Explorer,但是需要测试IE 7的兼容模式。将文档模式更改为IE 7后,它将其设置为默认值,现在无法更改。 默认卡在IE 7上吗? 如何将文档模式设置为默认值? 回答1 如果将站点添加到本地“兼容性视图”列表,则Internet Explorer 11中的呈现模式可能会停滞。 发生这种情况时,开发人员工具内部和外部的渲染模式将默认为指定的兼容性设置。 尽管这可能不是网站进入此列表的唯一方法,但是Microsoft确实记录了如何将网站手动添加到此列表的步骤。 从修复站点显示兼容性视图存在的问题: 将站点添加到“兼容性视图”列表中打开桌面,然后点击或单击任务栏上的Internet Explorer图标。 点击或单击“工具”按钮,然后点击或单击“兼容性视图设置” 。 在添加此网站下,输入要添加到列表中的网站的URL,然后点击或单击添加。 网站兼容性视图删除说明: 要从此列表中删除网站,请按照以下说明进行操作。 转到工具>兼容性视图设置。 在出现的对话框中,单击要从列表中删除的站点。 单击删除按钮。 屏幕截图: 回答2 您可以使用meta tag来实现此目的,如下所示: <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 回答3 我在维护的特定网页上遇到了这个问题。
  • 如何在 Microsoft Edge Web 浏览器中启用 Java?(How do I enable Java in Microsoft Edge web browser?)
    问题 我的公司 Web 应用程序使用 Java 小程序访问用户文件系统。 我们暂时无法用其他任何东西替换它。 如何在 Microsoft Edge 中启用 Java? 回答1 正如其他人提到的,Microsoft Edge 不支持 Java、ActiveX、Silverlight、浏览器帮助对象 (BHO) 和其他插件。 大多数现代浏览器正在从插件转向标准的 HTML5 控件和技术。 如果您必须继续在企业 Web 应用程序中使用 Java 插件,请考虑将该站点添加到企业模式站点列表中。 这将自动提示用户在 IE 中打开。 回答2 您无法在 Microsoft Edge 中打开 Java 小程序(或任何其他 NPAPI 插件) - 它们不受支持,将来也不会添加。 此外,您应该知道,在下一版 Google Chrome(v45 - 2015 年 9 月到期)中,也将不再支持 NPAPI 插件。 变通办法 您可以执行以下操作: 使用 Internet Explorer 11 您会发现在 Windows 10 中您已经安装了 Internet Explorer 11。 IE 11 继续支持 NPAPI(包括 Java Applet)。 IE11 被隐藏起来( c:\program files\internet explorer\iexplore.exe )。 只需将此 exe
  • 是什么做?(What does <meta http-equiv=“X-UA-Compatible” content=“IE=edge”> do?)
    问题 如果一个网页以 <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> 并且如果页面以 <!DOCTYPE html> <html> <head> <!-- without X-UA-Compatible meta --> 如果没有区别,我想我可以忽略X-UA-Compatible元标头,因为我只想在所有IE版本中以最标准的方式呈现它。 回答1 2015年10月更新 这个答案是几年前发布的,现在的问题确实应该是您是否应该考虑在您的网站上使用X-UA-Compatible标签? 以及Microsoft对浏览器所做的更改(更多有关以下内容)。 根据您支持的Microsoft浏览器,您可能不需要继续使用X-UA-Compatible标签。 如果您需要支持IE9或IE8,那么我建议您使用标记。 如果您仅支持最新的浏览器(IE11和/或Edge),那么我将考虑完全删除此标签。 如果您使用Twitter Bootstrap,并且需要消除验证警告,则此标记必须以其指定顺序显示。 以下是其他信息: X-UA-Compatible元标记允许Web作者选择应将页面呈现为哪个版本的Internet Explorer。 IE11对这些模式进行了更改; 请参阅下面的IE11注释。
  • 如何让 WebBrowser 控件显示现代内容?(How can I get the WebBrowser control to show modern contents?)
    问题 我创建了一个使用 WebBrowser 控件的 Winforms 应用程序; 我动态分配它的 Uri。 它工作了一段时间,但现在我收到了这个消息: 您似乎在使用不受支持的浏览器。 较旧的浏览器可能会危及您的安全,速度较慢且无法与较新的 Google 地图功能配合使用。 要访问 Google 地图,您需要更新到现代浏览器。 最后两个词是一个链接,在该链接之后,我看到: 您目前正在使用... IE 11 所以,好吧,WebBrowser 组件使用 IE 11; 我该如何改变? 我的机器设置为使用 Chrome 作为浏览器; 也许控件应该使用您当前的浏览器? 我不知道这是否可能/可行。 更新 好的,我愿意尝试一下 Reza 的建议。 但是当我导航到 regedit 中的指定位置,并在右窗格中右键单击以添加一个新条目时,它有三个选项: 键、字符串值、二进制值 我认为字符串值是“.exe”字符串,二进制值是“dword”值,但“键”值应该是什么? 回答1 网页浏览器控制 WebBrowser 控件使用安装在您的操作系统上的相同 Internet Explorer 版本,但默认情况下它不使用最新的文档模式并以兼容模式显示内容。 症状 -作为一种症状,该站点在 Internet Explorer 或其他浏览器中正常运行,但WebBrowser控件不能很好地显示该站点,并且对于某些站点
  • 如何使WebBrowser控件显示现代内容?(How can I get the WebBrowser control to show modern contents?)
    问题 我创建了一个使用WebBrowser控件的Winforms应用程序; 我动态分配了它的Uri。 它工作了一段时间,但现在我收到了这个味精: 您似乎使用了不受支持的浏览器。 较旧的浏览器可能会危及您的安全,运行缓慢且不能与较新的Google Maps功能配合使用。 要访问Google Maps,您需要更新为新版浏览器。 最后两个词是一个链接,在该链接之后,我看到: 您正在使用... IE 11 因此,好的,WebBrowser组件使用IE 11。 我该如何改变呢? 我的机器已设置为使用Chrome作为其浏览器; 控件应该使用您当前使用的浏览器是什么? 我不知道这是否可能/可行。 更新 好的,我愿意尝试Reza的建议。 但是,当我导航到regedit中的指定位置并在右窗格中右键单击以添加新条目时,它具有三个选项: 键,字符串值,二进制值 我认为字符串值是“ .exe”字符串,二进制值是“ dword” val,但是“ Key”值应该是什么呢? 回答1 Web浏览器控件 WebBrowser控件使用与操作系统上安装的Internet Explorer版本相同的控件,但默认情况下不使用最新的文档模式,并以兼容模式显示内容。 症状-作为一种症状,该网站可以在Internet Explorer或其他浏览器中正常运行,但是WebBrowser控件不能很好地显示该网站,对于某些网站
  • Microsoft Edge为什么要打开某些本地网站,而不能打开其他本地网站,在这些本地网站中,主机名中的域名路由到127.0.0.1(Why does Microsoft Edge open some local websites, but not others, where the domain name is routed to 127.0.0.1 in hosts file)
    问题 像许多程序员一样,我在本地测试站点。 我使用hosts文件将域名映射到我的本地ip(127.0.0.1)。 我使用合格的域名,通常带有“ d”子域(用于“开发”)。 例如: d.somewebsite.com d.anotherwebsite.com and so on... 在Microsoft Edge中,大多数网站都可以运行。 但是,其中有两个不是。 域名无效没有什么特别或奇怪的地方。 只是一个简单的d.someletters.com 。 它们在Chrome,IE和Firefox中可以正常工作。 在Edge中,我收到错误消息:“嗯,我们无法到达此页面。” 起初我以为这不是解决IP问题。 但是,我意识到,当我在另一个不相关的URL上输入错误时,主机文件未路由的请求将发送到我的ISP进行解析。 如果我的ISP无法解决它,他们会发回这个特殊的搜索结果页面,其中包含有关您可能要查找的内容的建议。 好吧,当我转到本地域时,不会从ISP获得此页面。 我直接从边缘得到上述错误。 因此,在我看来,Edge可以正确解析该域,否则它将被发送到我的ISP的DNS。 因此,我认为那时Edge可能无法连接到本地计算机。 但是就像我说的那样,其中一些本地域运行良好。 此外,直接在Edge中使用127.0.0.1也可以。 正是这几个域名给我带来了麻烦。 而且只有在Edge中(所有其他浏览器都可以使用
  • IE11文档模式默认为IE7。 如何重设?(IE11 Document mode defaults to IE7. How to reset?)
    问题 Windows 8.1 Surface平板电脑上的Internet Explorer 11默认为文档模式7,导致许多网站呈现错误。 当我打开开发人员工具时,由于Intranet兼容性设置,它指出它默认为文档模式7。 但是,我没有手动更改这些设置,而是在浏览Internet页面! 我尝试重设Internet Explorer设置没有任何运气。 有任何想法吗? 回答1 默认情况下,IE在兼容性视图的“ Intranet”区域中显示网页。 要更改此设置: 按Alt键显示IE菜单。 选择工具| 兼容性视图设置删除兼容性视图中的“显示Intranet站点”旁边的复选标记。 选择关闭。 此时,IE应该依靠网页本身(或任何相关的组策略)来确定Intranet网页的兼容性设置。 请注意,进行此更改后,某些站点可能不再正常运行。 您可以使用同一对话框添加特定站点,以在需要时启用兼容性视图。 回答2 如果您是开发人员,则需要执行以下操作: <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 回答3 多亏了Lance的所有调查,我才能找到解决问题的方法。 这可能与我的ISP有关。 总结一下: Internet网站显示在Intranet区域中因此
  • ... 不支持谷歌地图 Javascript API。 使用其他浏览器(... google maps Javascript API not supported. Use another Browser)
    问题 我正在使用两个不同的第三方程序(不同的公司),它们显然使用了 Google Maps Javascript API。 当他们加载地图时,会显示世界地图,但会显示错误消息:“Der von Ihnen verwendete Browser wird von Google Maps Javascript API nicht unterstützt. Verwenden Sie einen anderen Browser”。 (翻译:Google Maps Javascript API 不支持您使用的浏览器。使用其他浏览器)。 我使用的是 Windows 7 和 Internet Explorer 11.0.48。 2017 年初,这些程序运行正常。 我使用 chrome 提供的选项将默认浏览器更改为 Chrome,但错误仍然出现。 用户方面有解决方法吗? 问候彼得 其中一个程序可从 http://www.codres.de/google-map-saver (GMS.NET) 下载,另一个程序在 CD ROM 上带有来自 Canmore GPS 的 GPS 记录器,日期为 2013 年。两者都显示了相同的行为,GMS.NET 在单击“转到位置”按钮后,在启动后立即 GPS 照片标记器。 英文错误消息是“您使用的浏览器不受 Google Maps JavaScript API 支持
  • Internet Explorer 11通过元标记禁用“在兼容性视图中显示Intranet网站”(Internet Explorer 11 disable “display intranet sites in compatibility view” via meta tag not working)
    问题 我一直在Intranet网站上工作超过6个月,当时我一直在使用下面的html5 doctype和Edge兼容性元标记来强制Internet Explorer不要模拟旧版本的浏览器,因此此方法正常。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>My title</title> <meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> </head> <body> </body> </html> 之所以这样做,是因为我的工作地点使用策略设置来启用所有Intranet站点的兼容性视图,并且这种使用EDGE设置的方法在Internet Explorer 9中有效。 一个多月前,我已升级到Internet Explorer 11,并且该站点仍按预期运行。 今天,它按预期停止了工作,我不能肯定地说,但是我认为在IE11中未启用强制兼容性视图的策略,而现在它已...由于启用了兼容性,兼容性元标记不再可以完成预期的工作,并且此站点正在以模仿IE8的企业模式运行。 有谁知道如何解决此问题并强制实施兼容性“企业模式”时强制将IE11用于Intranet站点? 不能通过浏览器设置禁用? 编辑 我刚刚尝试在我的web.config中添加自定义标头
  • 如何在IE11中恢复“浏览器模式”?(How to bring back “Browser mode” in IE11?)
    问题 更新:原来的问题仅适用于IE11预览; IE11的最终版本已返回浏览器模式。 但是有一个陷阱:它几乎没有用,因为它不模仿条件注释。 例如,如果使用它们在旧版IE中启用HTML5支持,则将不再能够在IE11中调试站点。 <!--[if lte IE 8]> <script src="html5shiv.js"></script> <![endif]--> 阅读另一个StackOverflow问题和IE错误跟踪器问题。 微软从未对此做出回应,因此他们似乎是故意引入此错误的,以引导人们购买BrowserStack订阅。 有条件的注释仿真在预览版中效果很好。 原始问题:在Windows 7上安装IE11预览版时,它附带了老式的F12工具,该工具可以更改浏览器模式。 但是,如果转到“工具”菜单并选择“ F12”开发人员工具,它将被新的开发人员工具替换,并且“浏览器模式”不再可用。 还原它的唯一方法是卸载IE11并重新安装它。 在IE11中,有没有更简单的方法可在浏览器模式之间切换? 回答1 [更新] 原始问题和下面的答案专门适用于IE11预览版。 实际上,IE11的最终发行版确实提供了从开发工具中的“仿真”选项卡切换浏览器模式的功能: 话虽如此,我在这里(和其他地方)提供的避免使用兼容模式进行测试的建议仍然有效:如果要测试站点与旧版IE的兼容性,则应始终在真实副本中进行测试那些IE版本
  • 为什么要再使用X-UA兼容的IE = Edge?(Why use X-UA-Compatible IE=Edge anymore?)
    问题 我最近参加了几门在线课程,但我仍然看到一些教师默认将以下meta标记添加到其文档的顶部: <meta http-equiv="X-UA-Compatible" content="IE=edge"> 这种想法似乎与<meta charset="UTF-8">一样重要和有用。 但为什么? 根据Microsoft的Modern.ie文档,这是“确保Internet Explorer使用最新的引擎”的“最佳实践”。 好,可以。 但是,如果遵循MSDN上的流程图​​,则可以清楚地看到没有X-UA兼容信息的文档将被转发到用户的“兼容性视图”首选项,如果未设置,则只需遵循!DOCTYPE声明即可。 换句话说,除非用户具有适当的兼容性视图设置,否则IE只会遵循您的!DOCTYPE并使用浏览器的最新标准模式进行渲染...无需X-UA-Compatible IE=Edge语句完全没有。 正如MSDN所说:“使用HTML5文档类型声明来启用边缘模式”。 那么在什么情况下需要X-UA-Compatible IE=Edge ? 回答1 正如@David的答案所指出的那样,除非您在“本地Intranet”区域中托管网站,否则几乎没有理由包括<meta http-equiv="X-UA-Compatible" content="IE=edge">在您的网页中,并且(根据Microsoft的最佳做法建议
  • 为什么IE9会在我的网站上切换到兼容模式?(Why does IE9 switch to compatibility mode on my website?)
    问题 我刚刚安装了IE9 beta,并且在我创建的特定网站(HTML5)上,除非我手动告知IE9,否则IE9会跳至兼容模式。 我曾尝试删除网站的多个部分,但没有任何变化。 包括删除所有的CSS包含。 在我的其他网站上,一切正常。 另外,不要手动设置它,因为那样IE9会记住用户设置,并且您无法将其恢复为自动设置(或者至少我没有找到方法,甚至没有通过私有浏览和清空缓存) 反正。 跳至兼容模式的站点:http://alliancesatwar.com/guide/ 一种可以正确显示的位置:http://geuze.name/basement/(我发布的超链接不能超过1个) 两者都使用相同的doctype 。 这些网站使用相同的基本模板(编码,元标记,doctype和相同的javascript)有很多共同点(除了外观) 如果有人对我有答案,那就太好了! 一个以IE7模式呈现的HTML5网站真是太糟糕了。 回答1 对我来说,可以在IE9 documentMode中工作。 没有X-UA-Compatible标头/元设置显式documentMode,您将获得基于以下内容的模式: 用户之前是否已单击该域中的“兼容性视图”按钮; 也许还因为站点上的其他内容导致IE8 / 9的渲染器崩溃并退回旧的渲染器而自动发生了; 用户是否默认选择将所有站点置于兼容性视图中;
  • IE11 边缘文档模式是否支持 ES6?(Does IE11 Edge Document mode support ES6?)
    问题 所以我知道很多 ES6 JS 方法在 IE11 中不受支持……但是,如果文档模式设置为 Edge(哪个支持 ES6)它会在 IE11 中实际工作吗? (我附近没有 Windows 10 计算机)但我想知道是否可以在实际的 IE11 浏览器中赋予 Edge“兼容性”? 我知道“用户代理”即使在 Chrome/Firefox(支持 ES6)中似乎也没有什么区别。 回答1 不。 文档模式“Edge”的意思是“可用的最高模式”。 它将 IE 11 置于 IE 11 模式,将 IE 10 置于 IE 10 模式,依此类推。 它与名为“Edge”的浏览器无关。 IE 似乎没有在积极开发中。 它似乎只获得安全修复,而不是新功能。 新功能被添加到名为 Edge 的浏览器中。
  • IE9:强制 IE9 浏览器模式和文档模式(IE9: Force IE9 browser mode and document mode)
    问题 在 IE9 中,我的网页显示为Browser Mode: IE9 Compat View和Document Mode: IE standards ,这破坏了我的所有canvas 。 我确保将<!DOCTYPE html>作为第一行。 如何在 IE9 上强制使用“正常”IE9 模式? 回答1 有“边缘”模式。 <html> <head> <title>My Web Page</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> </head> <body> <p>Content goes here.</p> </body> </html> 从链接的 MSDN 页面: 边缘模式告诉 Windows Internet Explorer 以可用的最高模式显示内容,这实际上打破了“锁定”范式。 对于 Internet Explorer 8,这相当于 IE8 模式。 如果(假设的)未来版本的 Internet Explorer 支持更高的兼容性模式,则设置为边缘模式的页面将显示为该版本支持的最高模式; 但是,当使用 Internet Explorer 8 查看时,这些相同的页面仍会出现在 IE8 模式下。 但是,不鼓励在生产使用中使用“边缘”模式: 建议 Web
  • Windows 10 中的 TWebbrowser:Microsoft Edge(以前称为 Spartan)/Internet Explorer 遗留问题(TWebbrowser in Windows 10: Microsoft Edge (formerly Spartan) / Internet Explorer legacy issues)
    问题 我们知道 Internet Explorer 将在 Windows 10 中停产,取而代之的是新的 Microsoft Edge(以前的代号为“Project Spartan”)。 有数百万个应用程序使用 TWebbrowser,这是一个使用 Internet Explorer API 的组件。 有没有人知道这些应用程序将如何在未来版本的 Windows 中工作? 我们如何准备好让我们的应用程序在未来的 Windows 版本中运行? 回答1 根据 IE 博客 Internet Explorer 11 将与 Windows 8.1 基本保持不变,继续以独占方式托管旧引擎。 因此 IE(和 mshtml.dll)不会消失,它将存在于 Windows 10 中以实现向后兼容性,因此 TWebbrowser 仍应在下一版本的 Windows 中工作。 回答2 (编辑问题已修复,最终解决) 我有使用 WebBrowser OCX 的 Delphi 2006(32 位)应用程序。 我写 FEATURE_BROWSER_EMULATION/myapp.exe = 0 注册表值以获得最高的 IE 渲染模式。 通过 WinXP-Win7-Win8-Win10(最新补丁之前)运行良好。 最新补丁在某处进行了更改,现在网络浏览器画布是空白的,但任何地方都没有错误。 它仍在调用 http 请求
  • 如何使用JavaScript检测Internet Explorer(IE)和Microsoft Edge?(How can I detect Internet Explorer (IE) and Microsoft Edge using JavaScript?)
    问题 我到处走走了很多,我知道有很多检测Internet Explorer的方法。 我的问题是:我的HTML文档上有一个区域,当单击该区域时,它会调用与任何类型的Internet Explorer都不兼容的JavaScript函数。 我想检测是否正在使用IE,如果是,请将变量设置为true。 问题是,我正在用Notepad ++编写代码,并且当我在浏览器中运行HTML代码时,没有一种方法可以检测IE。 我认为问题是我用的是Notepad ++。 我需要能够检测IE,以便基于变量可以禁用站点的该区域。 我已经试过了: var isIE10 = false; if (navigator.userAgent.indexOf("MSIE 10") > -1) { // this is internet explorer 10 isIE10 = true; window.alert(isIE10); } var isIE = (navigator.userAgent.indexOf("MSIE") != -1); if(isIE){ if(!isIE10){ window.location = 'pages/core/ie.htm'; } } 但这是行不通的。 如何从Notepad ++中检测IE? 这就是我正在测试HTML的内容,但是我需要一种可以使用该方法的方法。 编辑
  • 使用标签强制关闭IE兼容模式(Force IE compatibility mode off using tags)
    问题 我正在为在所有Intranet站点上强制使用兼容模式的客户端做工作。 我想知道是否可以在HTML中放入一个标记,以强制关闭兼容模式。 回答1 有“边缘”模式。 <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>My Web Page</title> </head> <body> <p>Content goes here.</p> </body> </html> 从链接的MSDN页面: 边缘模式告诉Windows Internet Explorer以可用的最高模式显示内容,这实际上打破了“锁定”范式。 使用Internet Explorer 8,这等效于IE8模式。 如果将来(假设的)Internet Explorer版本支持更高的兼容性模式,则设置为“边缘”模式的页面将以该版本支持的最高模式显示;否则,它将显示为该版本所支持的最高模式。 但是,使用Internet Explorer 8查看时,这些页面仍将以IE8模式显示。 但是,不建议在生产使用中使用“边缘”模式: 建议Web开发人员限制使用Edge模式来测试页面和其他非生产用途,因为在将来版本的Windows Internet Explorer中呈现页面内容可能会产生意外结果。 老实说,我并不完全理解为什么。 但是据此