天道酬勤,学无止境

为什么 IE9 需要元标记来呈现圆角?(Why does IE9 require a meta tag to render rounded corners?)

问题

在刚刚发布的 IE9 中,您需要提供元标记<meta http-equiv="X-UA-Compatible" content="IE=9" />以允许 css border-radius渲染。

为什么?

回答1

此链接:http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site-developers.aspx 表明元标记不是唯一的方法启用边界半径。 相反,您可以更改您的文档类型。

不过,请阅读整篇文章以确定您是要使用 doctype 还是 meta 标签。

受限制的 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>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 为什么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的渲染器崩溃并退回旧的渲染器而自动发生了; 用户是否默认选择将所有站点置于兼容性视图中;
  • IE9 根本不关心“X-UA-Compatible”元标记(IE9 does not at all care about 'X-UA-Compatible' meta tag)
    问题 我在互联网上找不到任何关于此的信息,所以我在这里寻求帮助: 由于某些技术原因,我尝试强制 IE9 进入 IE8 渲染模式,使用以下元标记作为<head>之后的第一行: <meta content="IE=8" http-equiv="X-UA-Compatible"> 出于某种原因,我们办公室中的所有 IE9 都只是呈现 IE9 风格,无论我尝试什么。 当我从 IE9 查看 DevTool (F12) 时,它显示 IE8 是“页面默认值”,但它仍然坚持在 DevTools 中设置的渲染模式。 没有办法影响它。 我们甚至删除并重新安装了 IE9,因为我们认为一旦你使用 DevTool 设置渲染模式,IE9 就会永远坚持下去...... 这不是关于强制 IE9 进入任何其他模式的推理。 在这种特殊情况下,它是我们的首选。 让我发疯的是 IE9 应该根据我在那里读到的所有信息尊重元标记,但出于某种奇怪的原因,我们的 IE9 并不关心它。 有没有人知道什么可以阻止 IE9 表现得像 IE8? 最好的问候,罗曼。 回答1 在我看来,一切正常。 如果 IE8 被标识为“页面默认值”,但选择了 IE9,则浏览器可能会记住您明确决定在 IE9 中呈现。 只需手动选择“页面默认值”,浏览器应从此尊重它。 只要 IE8 被识别为默认页面,一切都很好。 只需告诉您的团队切换回该特定域
  • 是什么做?(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注释。
  • SSRS 报告在 IE9 中被剪辑,但在 IE8 中很好(SSRS reports clipped in IE9 but fine in IE8)
    问题 我有一个名为Reports.aspx页面,其中包含一个IFrame并且我已将一个用户控件放入该IFrame 。 该IFrame有要显示的报告,但在IE9 ,报告被剪裁,即部分显示,但如果我在IE8运行相同,那么一切都很好。 现在我想在IE8呈现 Iframe 部分,但在IE9呈现其余的 aspx 页面。 有可能吗? 希望如此.... 回答1 使用元标记渲染页面 <html> <head> <!-- Mimic Internet Explorer 8 --> <title>My Web Page</title> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> </head> <body> <p>Content goes here.</p> </body> </html> IE 渲染模式:http://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx 我不知道这是否可能,我从未尝试过,但将 IFrame 包含在元标记中以使其呈现为 IE8。 编辑: 在你的 IFrame 中试试这个: <html> <head> <!-- Mimic Internet
  • IE9为什么以文档模式作为IE7标准打开?(Why does IE9 opens in Document Mode as IE7 standards?)
    问题 当我在IE9中使用DOCTYPE打开网页时 <!DOCTYPE html> 它将打开文档模式作为IE7标准。 打开页面时,我需要默认的IE9标准。 如何更正此文档模式问题? IE浏览器开发人员工具中的截图 回答1 尝试以下答案:https://stackoverflow.com/a/13524518/1679310。 摘要,在meta标签中为IE浏览器提供更多信息: <!DOCTYPE html> <html> <head> <title>My Web</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 编辑注:如Olly Hodgson所述,正确的选项是IE = edge,如上面的代码段所述。 以下是原始版本,也是可以使用的版本: <meta http-equiv="X-UA-Compatible" content="IE=100" /> 回答2 可以按照IE7标准解析文档的原因可能有多种: 服务器正在文档的HTTP响应中发送IE7​​的X-UA-Compatible标头。 使用Fiddler之类的工具检查服务器响应标头。 HTML文档正在使用IE7的X-UA-Compatible属性值设置元标记。 IE自动检测到该页面,以便在“兼容性视图”中打开该页面。 请注意,默认情况下
  • 在IE中支持“边界半径”(Support for “border-radius” in IE)
    问题 有谁知道Internet Explorer是否/何时支持“ border-radius” CSS属性? 回答1 是的! IE9于2011年1月发布时。 假设您要在所有四个侧面上平均设置15像素: .myclass { border-style: solid; border-width: 2px; -moz-border-radius: 15px; -webkit-border-radius: 15px; border-radius: 15px; } IE9将使用默认的border-radius ,因此只需确保将其包括在所有样式中(称为border radius)即可。 然后,您的站点将可以使用IE9。 -moz-border-radius用于Firefox, -webkit-border-radius用于Safari和Chrome。 此外:不要忘记声明您的IE编码为ie9: <meta http-equiv="X-UA-Compatible" content="IE=9" /> 一些懒惰的开发人员具有<meta http-equiv="X-UA-Compatible" content="IE=7" /> 。 如果该标签存在,则border-radius在IE中将永远无法使用。 回答2 自一年前提出以来,这个问题的答案已经改变。 (此问题目前是谷歌搜索“边界半径即
  • 为什么我的表单无法在 Internet Explorer 9 中上传文件?(Why does my form not upload files in Internet Explorer 9?)
    问题 欢迎来到“为什么 Internet Explorer 如此糟糕?”的第 32,342,343 集。 ... 我看到很多报告说 IE9 在上传文件时做得很糟糕。 显然,它有很多关于何时会或不会起作用的警告(如果有人有一个明确的列表,我很乐意看到它)。 但是,我发现的大多数问题/解决方案都与 javascript 有关,通常是 jQuery 表单插件或类似的东西。 我的表单不是通过 AJAX 提交的,并且文件输入字段没有被 css 隐藏或遮挡。 然而,我每天从 IE9 上的用户那里收到几张支持票,试图提交表单,但“没有任何反应”(= 表单提交。没有错误,但文件没有上传。)我没有收到一个投诉不同的浏览器,而 IE8 甚至似乎可以工作(和以往一样)。 这是我的表格的顶部。 我错过了什么吗? <form action="http://mysite.dev/account-settings/?open=resume" method="post" class="wpjb-form" enctype="multipart/form-data"> <input type="hidden" name="resume_form" value="resume_form" /> <fieldset class="wpjb-fieldset-default"> <input id="firstname"
  • 如果文档正文中存在meta标签,会发生什么情况?(What happens if the meta tags are present in the document body?)
    问题 我正在开发ASP应用程序,并且代码,模板和文件的组织方式不允许我更改body标记之外的任何内容。 所以我正在考虑将meta标签插入到体内-像这样: <!-- FEW ASP INCLUDES --> <html> <head> <!-- FALLBACK TITLE AND DESCRIPTION --> <title>Default Title</title> <meta name="description" content="Default Description"> </head> <body> <!-- SOME HTML MARKUP --> <div class="dynamic-content"> <!-- InstanceBeginEditable name="dynamic-content" --> <!-- THIS IS WHERE I CAN WRITE ASP CODE --> <title><%= Page.Meta.GetTitle( yada, yada ) %></title> <meta name="description" content="<%= Page.Meta.GetDescription( yada, yada ) %>"> <!-- InstanceEndEditable --> </div> <!-- SOME MORE
  • HTA和“ x-ua兼容”元标记(HTA and 'x-ua-compatible' meta tag)
    问题 添加到2014年6月19日发布 谢谢邦德。 由于您拥有IE9,因此感谢您的测试。 希望如果有人使用IE 10,他们也将对其进行测试。 为什么在IE 11引擎下只能运行高达ie8的兼容性没有任何意义。 为了发布它,我创建了这个很小的,很笨拙的HTA,以期希望我能找到我所缺少的东西。 我的系统是带有IE 11的Win7 Pro 64位。 当我将meta标签设置为: <meta http-equiv="x-ua-compatible" content="ie=8"> HTA充满桃花味。 没问题。 但是当我将其更改为: <meta http-equiv="x-ua-compatible" content="ie=9"> 它运行的不是很好。 现在...我知道IE 11和VBScript之间发生了很大的家庭冲突。 VBscript永久退出了家。 IE 11拒绝与其通信。 因此,我可以理解为什么将其设置为content =“ ie = edge”无效。 但是为什么将其设置为content =“ ie = 9”时却不起作用? <!DOCTYPE html> <head> <meta http-equiv="x-ua-compatible" content="ie=8"> <hta:application applicationname="Hmmmmmm" singleinstance=
  • IE9 字段集圆角(IE9 fieldset rounded corners)
    问题 我似乎无法让 IE9 渲染带有圆角的字段集,而其他浏览器则可以。 有没有人也遇到过这种情况? 回答1 仅当您将<fieldset>与<legend>一起使用时才会发生这种情况 - 没有它,角落呈现正常。 您可以通过将display:inline或display:inline-block应用于您的<legend>元素来修复此错误 - 但您必须通过设置position:relative并移动它来重新定位它。 根据您的图例样式的外观(有背景,它看起来是一样的 - 如果没有背景,字段集的边框仍然会在字母后面可见),您可以使它看起来与其他普通浏览器几乎相同。 回答2 根据我在最新版本 IE9 中的经验,我无法获得带有图例的字段集以具有半径。 我在 IE9 中使用其他边框没有任何问题,css3 border-radius 工作得很好,只是 fieldset/ledged。 我还在为这件事挠头。 回答3 我也曾经使用 fieldset 并且不仅仅用于表单,但是对兼容性的不断打击和错过让我放弃了它们。 最好编写自己的 CSS DIV 类来模拟字段集。 使用 CSS,您可以获得字段集外观的精确副本,并且具有更大的灵活性和兼容性 回答4 它只能在最新的 rc 版本中工作,不能在 IE9 的 beta 版本中工作,请尝试 .class { border-radius-right-bottom
  • 覆盖Intranet兼容模式IE8(Override intranet compatibility mode IE8)
    问题 默认情况下,IE8强制Intranet网站进入兼容模式。 我尝试将meta标头更改为IE8,但它不承认meta标头,仅使用浏览器设置。 有谁知道如何禁用此功能? 回答1 可以在Intranet中覆盖兼容模式。 对于IIS,只需将以下代码添加到web.config。 在IE9上为我工作。 <system.webServer> <httpProtocol> <customHeaders> <clear /> <add name="X-UA-Compatible" value="IE=edge" /> </customHeaders> </httpProtocol> </system.webServer> 与Apache等效: Header set X-UA-Compatible: IE=Edge 对于nginx: add_header "X-UA-Compatible" "IE=Edge"; 对于express.js: res.set('X-UA-Compatible', 'IE=Edge') 回答2 迈克尔·伊里戈延(Michael Irigoyen)是正确的,但是要复杂一些。 如果您使用的是保罗·爱尔兰(Paul Irish)的精彩样板,那么您将获得以下内容: <!doctype html> <!--[if lt IE 7]> <html class="no-js ie6
  • 如何防止IE9在兼容模式下渲染内网站点(How to prevent IE9 from rendering intranet sites in compatibility mode)
    问题 IE9 有一个奇怪的问题,它以兼容模式呈现 Intranet 站点。 有谁知道如何防止这种情况发生? 注意:我不是在寻找一种在单个用户机器上阻止它的方法,而是一些防止站点以兼容模式呈现的编程方式。 回答1 经过详尽的搜索,我在此博客上找到了如何成功阻止内网站点在 IE9 中以兼容模式呈现的方法: 来自 Tesmond 的博客 IE9 中有两个怪癖会导致兼容模式保持有效。 X-UA-Compatible meta 元素必须是 head 部分中的第一个 meta 元素。 在 X-UA-Compatible 元元素之前不能有条件 IE 语句。 这意味着,如果您使用 Paul Irish 的精彩 HTML5 Boilerplate,那么在具有默认 IE9 设置的 Intranet 上,您的网站将以兼容模式显示。 您需要从以下更改样板的开头:- <!doctype html> <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--
  • 区分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 我不相信有一种方法可以检测用户的浏览器是否处于兼容模式。 他们的用户代理字符串将由他们的浏览器模式决定
  • IE9 忽略某些页面的 CSS?(IE9 ignoring CSS for certain pages?)
    问题 我提供了不同的网站,基本上运行相同的代码。 一个页面呈现正确,而另一个页面似乎没有可用的 CSS。 当我为损坏的页面打开 IE9 开发者控制台时,我看到: SEC7113: CSS was ignored due to mime type mismatch 这解释了为什么页面呈现不正确的原因,但问题是,为什么我在一页上看到该错误,而在另一页上看不到? 使用 fiddler,为两个站点提供相同的 CSS,并且两个站点都有一个元标记: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/> 我知道 IE9 仍处于测试阶段,但我想弄清楚为什么我的网站有问题。 回答1 这看起来不像 IE 模拟的东西 - 听起来响应中的 CONTENT-TYPE 不是“text/css”。 看起来 IE9 强制要求包含 CSS 的文件实际上被标记为这样。 只是出于兴趣,CSS 页面是否以任何方式处理? 即它们是否由 ASPX 页面呈现以允许您注入 CSS? 如果是这种情况,那么您可能需要确保顶部的页面声明包含 ContentType 声明,例如: <%@ Page Language="C#" ContentType="text/css" %> 回答2 事实证明,IE9 将忽略“受信任区域”中所有站点的缺失内容类型。 如果缺少内容类型标头
  • HTML5 文档类型不会在 IE8 中触发标准模式(The HTML5 doctype is not triggering standards mode in IE8)
    问题 我在一家公司工作,我们所有的网站目前都使用 XHTML 1.0 过渡文档类型(是的,我知道这是非常古老的学校)。 我想将它们全部更改为使用 HTML5 文档类型,因为它向后兼容。 我想要切换的原因之一是因为在 IE8 中,如果有人安装了开发人员工具,那么旧的 XHTML 文档类型会将浏览器切换到兼容模式并将页面呈现为 IE7。 通过阅读它,我相信 HTML5 doctype 会将任何页面设置为以标准模式呈现,但是当我在我们的登台服务器上测试它时并没有发生这种情况,它仍然会翻转为 IE7 呈现模式。 奇怪的是,如果我在本地保存带有 HTML5 文档类型的页面并打开它,它会以 IE8 标准模式呈现。 肯定有其他原因导致它进入兼容 IE7 渲染。 任何想法这可能是什么? 以下是我一直在查看的测试页面的头部: <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <title>Burton - Mens Clothing - Mens Fashion - Burton Menswear</title> <meta
  • 如何防止IE9以兼容模式呈现Intranet网站(How to prevent IE9 from rendering intranet sites in compatibility mode)
    问题 IE9有一个奇怪的问题,那就是它以兼容模式呈现Intranet网站。 有谁知道如何防止这种情况发生的方法? 注意:我不是在寻找一种方法来防止在单用户计算机上使用它,而是在寻找一种编程方式来防止该网站以兼容模式呈现。 回答1 经过详尽的搜索之后,我在此博客上找到了如何成功阻止Intranet网站在IE9中以兼容模式呈现的方法: 来自Tesmond的博客 IE9中有2个怪癖,它们可能导致兼容模式保持有效。 与X-UA兼容的meta元素必须是头部中的第一个meta元素。 X-UA兼容元元素之前不能有常规IE语句。 这意味着,如果您使用Paul Irish出色的HTML5 Boilerplate,然后在具有默认IE9设置的Intranet上,您的网站将以兼容模式显示。 您需要从以下位置更改样板的开始:- <!doctype html> <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--> <!--[if gt IE 8]><
  • IE9 兼容性视图中 Knockout.js 中的绑定错误(Binding error in Knockout.js in IE9 Compatibility View)
    问题 我的 Web 应用程序的 UI 主要是使用出色的 Knockout.js 构建的。 它在 IE7 兼容模式下显示 IE8 中的一些布局错误。 我尝试添加一个元标记来强制标准模式,如下所示: <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 但是,在 IE9 下的 IE9 兼容性视图(我必须假设某些用户已设置)中,这会在 Knockout 进行绑定时导致错误: DOM 异常:INVALID_CHARACTER_ERR (5) 我在网上发现了很多对这个错误的引用 - 与创建 DOM 元素的方式有关 - 但显然我没有控制这个,Knockout 是。 什么是强制(或鼓励)所有当前和未来版本的 IE 以标准模式呈现且与 Knockout.js 构建 DOM 的方式兼容的健壮且最少 hacky 的方式? 另外,谁能详细说明一下 Knockout.js 在这里做什么而 IE9 不喜欢? 非常感谢。 更新: 我在我的标记中至少隔离了一个问题。 我有一对单选按钮: <input type="radio" data-bind="checked: Gender, attr: { name: 'gender-' + ID() }" value="@((int)Sex.Male)" /> <span>Male</span> <input
  • IE兼容模式:“ X-UA兼容”标签“边缘”(IE Compatibility Mode: 'X-UA-Compatible' tag 'Edge')
    问题 我在<head>有这个: <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 它将为IE强制采用最新的呈现模式,但是兼容性模式是否被认为是最后一种? 我的意思是,例如:将此代码与IE8一起使用,是否将迫使它使用IE8或IE8兼容模式? 回答1 该标签将尝试强制浏览器使用浏览器支持的最新渲染模式。 它不会触发兼容模式。 请注意,该标签必须是头部中的第一个标签,否则它将不起作用。 如果可能的话,此事实倾向于使用HTTP标头,因为HTTP标头中的顺序无关紧要。 如果在使用标头或元标记时浏览器仍然处于“兼容”模式,则可能是以下原因之一: 您缺少理智的文档类型浏览器已设置为始终使用兼容模式该站点托管在“ Intranet站点”上,并且设置了Intranet站点的默认设置 更改浏览器的兼容性视图设置 Microsoft认为至少192.168.xx位于“ Intranet站点”上。 IE8 / IE9中Intranet站点的默认设置是使用兼容模式。 对于许多业务应用程序来说,这是一个巨大的问题,因为程序员即使使用此meta标签也无法覆盖此选项。 (“在兼容性视图中显示Intranet站点”不能被meta标记或http标头覆盖-在这种情况下,浏览器可以完全控制兼容性视图) 总是添加此元标记或http标头? 使用此元标记的另一个好处是
  • 使用 Internet Explorer 兼容模式的缺点(Cons of using Internet Explorer's Compatibility Mode)
    问题 将在 IE 中查看的网站强制为兼容模式的缺点是什么? 说我们强制 IE9 到 IE8 兼容模式? 性能缺陷不能使用任何新的 IE9 特定功能,如 HTML5/CSS3/SVG 为什么? 我们运行自 2000 年以来开发的旧版 Web 应用程序,因此与 Chrome、Opera、Firefox、IE6/7/8 兼容是一团糟,现在我们决定将 IE9 添加到列表中。 但是对于 IE9,我们遇到了打印问题、“拒绝权限”JavaScript 错误(可能与跨框架 JavaScript 调用有关)和下一个问题 - 简单的解决方法是强制 IE9 表现得像 IE8,然后一切正常。 但我仍然不确定它是否可行...... 回答1 首先我们的应用程序是公共站点(对于我们的客户) 你有一个 2000 年开发的公共网站,但它在现代浏览器上不起作用? 弃用它或重新编写它。 不要为了支持现代浏览器而修改你的代码,该网站显然写得不好,不符合标准。 你不能逃避这个。 唯一可以避免这种级别不兼容性的地方是 Intranet 应用程序,即便如此,您也应该简单地声明“它适用于浏览器 X,并与之共存” 你不能对面向公众的客户说这些。 我的意思是您可以尝试,但要享受将业务输给竞争对手的乐趣。 重新开发您的网站以匹配 W3C HTML/CSS 标准和 ES5 标准,它将完全面向未来(几年)。 唉,网络的工作方式是任何超过5
  • 强制 IE8 或 IE9 文档模式符合标准(Force IE8 or IE9 document mode to standards)
    问题 好吧,很抱歉在这里直言不讳,但过去 2 年我一直在 IE 8 和 IE9 上进行开发,似乎无法做到这一点。 我在憎恶公司工作并为他们的网站开发。 出于某种原因,IE8 或 IE9 默认为低级文档模式,如 ie7 或 ie8。 我什么都试过了... 1)把HTML 5 doctype和别的什么都没有。 根据微软的说法,这应该足够了 2) 将 html5 doctype 和 x-ua-compatible meta 标签放在标题下的页面中,并分别设置为 edge 或 IE8 或 IE9。 我的页面看起来像这样 <!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt- ie8"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9"> <! [endif]--> <!--[if gt IE 8]> <html class="no-js"> <! [endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE