问题标签 [compatibility-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
internet-explorer - IE 兼容模式能工作多久?
不幸的是,我们有一个庞大的遗留 Web 应用程序在工作,我们无法摆脱它。它仅适用于 IE,并且完全依赖于“X-UA-Compatible: IE=EmulateIE8”才能在较新的 IE 版本中正常工作。
我的问题是这是否有可能有一天突然停止工作。即,IE12(或 13 或 14)是否会在某一天出现并使该站点变得无用,因为它不再受兼容模式的困扰?
如果是这样,管理层将不想听到它,但他们越早听到越好。
vb.net - 如何以编程方式将网站添加到兼容性列表 Internet Explorer 11?
我尝试在以下位置添加注册表项:
但是在 Internet Explorer 11 中,此方法不起作用,因为列表似乎已移动。
browser - 在 IIS7/web.config 中设置的 EmulateIE7 模式不会在 IE11 中以正确模式显示页面
我有一个网站,IE8、IE9 和 IE10 在来自 IIS/7 的 HTTP 标头响应中使用 IE=EmulateIE7 模式总是运行良好,但这种模式在 IE11 中似乎无法正确呈现。
尽管在 IE8 到 IE10 中的 EmulateIE7 模式下它可以正常工作,但该页面在 IE11 中无法呈现或正常运行。如果我在 IE11 上打开 F12 工具,我看到文档模式是“7”。
使IE11正常工作的唯一方法是手动将域添加到兼容性视图模式,然后效果很好;但我们不能要求所有用户手动激活我们域的兼容性视图。
如何在不将域添加到兼容性网站列表的情况下强制 IE11 呈现为 IE7?
非常感谢任何帮助!
visual-studio-2010 - MFC 窗口字段(如按钮和复选框)在 Windows 7 上处于禁用状态
MFC 窗口字段(如按钮和复选框)在 Windows 7 机器上处于禁用状态。但是,这在 Windows XP 机器上运行良好。
请注意,当我们启用可执行文件的兼容性选项并选择兼容模式为 Windows XP(服务包 3)时,按钮和复选框将再次启用。
internet-explorer - 卡在 IE 兼容模式下
我正在处理的站点的 URL 最终出现在 Microsoft 兼容性列表中。这意味着每次 IE 用户访问它时,都会强制使用 IE9 模式,这使得无法使用现代 CSS 或 Javascript。
网站上每个 HTML 文档的前 6 行如下所示。没有条件评论。我还尝试在没有任何成功的情况下<title>
立即放置标题。<head>
响应 HTTP 标头始终包含
但它似乎没有任何区别。唯一强制 IE 关闭 IE9 模式的是设置对话框中的此复选框。只有在未设置时,站点才会以 Edge 模式显示。
另外,我最近发现 Microsoft 的 iecompatdata.xml 包含featureSwitch="overrideXUACompatible:false"
站点条目旁边的属性。
还有什么我可以尝试阻止我的网站以 IE 兼容模式显示的吗?
windows-7 - Windows 兼容模式的陷阱
我们有一个 VB6 应用程序,我们正在从 Windows XP 迁移到 Windows 7,我们遇到了几个问题。如果我们将应用程序的兼容模式设置为 Windows XP (Service Pack 3),其中一些问题就会消失。
我想知道简单地在兼容模式下运行我们的应用程序是否是一个好的解决方案。我一直在做一些谷歌搜索,但没有发现任何暗示使用兼容模式有不利之处。但是大多数人将它用于他们没有开发的应用程序。
长期目标是用 C# 替换所有 VB6 代码,但这需要时间。也许在我们更换 VB6 的同时使用兼容模式并不是一件坏事。
有没有人有开发应用程序并有意让它在兼容模式下运行的经验?我的直觉说这是一个坏主意,但我找不到任何反对使用它的证据。
windows-7 - 让一个处于兼容模式的程序在没有它的情况下运行另一个程序
我们有一个程序(我们称之为一个目录),它必须在 Windows 7(不是 VM 版本)中以 XP 兼容模式运行。但是,另一个目录启动的程序 (Autodesk Voloviewer) 在用户退出后往往根本不会关闭,因为它不喜欢在 XP 兼容模式下运行。有没有办法从不继承兼容模式的 VB6 启动程序?
我有一种偷偷摸摸的怀疑,advapi32.dll 将不得不参与其中,但我可能离基地很远。
谢谢。
javascript - Javascript 框架功能仅适用于兼容模式
我想我不明白 IE11 中的兼容模式有什么变化,我只是大致了解了它的工作原理。以下功能在兼容模式下工作正常:
但它无法在没有打开兼容性的情况下分配值。我使用 try/catch 来查找提示的错误消息:
如果有人能向我介绍打开/关闭兼容模式时 javascript 所经历的变化,我将不胜感激。
先感谢您。
javascript - 将 IE9 设置为不兼容 X-UA (d3.js) 的边缘模式
我正在使用 d3.js 为 Intranet 开发数据可视化页面。该页面需要在 Internet Explorer 中呈现,这会导致问题,因为所有 Intranet 页面都是以 quirks 模式呈现的。这使得 IE 在加载 d3: 时抛出错误SCRIPT5009: CSSStyleDeclaration is undefined
,从而阻止加载 d3 的其余部分。
当由其他现代浏览器或 IE9 在标准模式下呈现时,该页面按预期工作,所以我相信怪癖模式是问题所在。
其他限制,以及我尝试过的不起作用的事情:
- 该页面由我无法控制的模板系统 (IBM Cognos) 提供服务。
<meta http-equiv="X-UA-Compatible" content="IE=edge">
因此,设置不是一个选项,因为我无法修改标题。 - 在 HTTP 标头中设置等效标记也是不可能的。
- 如果我将元标记添加到
<body>
页面中我可以控制的唯一部分,IE 将忽略它。 - IE 的 F12 工具声称它处于文档怪癖模式,尽管浏览器本身处于 IE9 兼容模式。手动更改文档模式会导致 Intranet 站点重新加载页面并导航回父页面。我不知道为什么。
- 在兼容性视图设置中取消选中“在兼容性视图中显示 Intranet 站点”不会执行任何操作。
目前我可以想到两种方法来解决这个问题:要么强制 IE 以标准模式呈现,要么以某种方式重写 d3.js 以避免使用 CSSStyleDeclaration,这首先会导致崩溃。我不知道如何处理其中任何一个。
c# - 以编程方式从兼容性视图列表中删除站点
我有一个需要从 IE9 和 IE11 的兼容性视图列表中删除的站点。我需要在 C# 代码中以编程方式发生这种情况。很多谷歌搜索并没有出现很多,只是偶尔手动进行说明,但不是真正以编程方式进行。我已经看到很多通过将标头物理添加到 HTML 来做到这一点;但是,我无法进入 HTML 以物理方式执行此操作。是否有任何其他方法可以在 C# 中以编程方式将站点从兼容性视图列表中删除?
我没有对 HTML 或 web.config 文件的物理访问权限。此应用程序是购买的应用程序,我需要使用 C# 代码以编程方式更改它才能在没有兼容模式的情况下工作。--希望它有助于澄清我能做什么和不能做什么。