我正在设计一个不遵循当前最佳实践的基于.NET软件CMS解决方案的站点。 它使用表和<!-- DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -->的doctype。 该软件公司不允许您编辑.aspx文件或js 它们仅允许您编辑样式表和其他模块,例如HTML模块,天气模块,幻灯片模块等。

因此,IE总是以怪异模式渲染站点,从而破坏CSS。 我无权更改doctype或编辑<head></head>

有没有一种方法可以在不访问代码的情况下更改文档类型?

我要处理的是:

<!--DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -->
<html>
<head id="htmlHead"><title>
Welcome to xxx
</title>

<script type="text/javascript" language="JavaScript">
        function stopError()
        {
          return true;
        }
        window.onerror = stopError;
</script>

<link href="xxx.css" rel="stylesheet" type="text/css" />
<meta name="ROBOTS" content="INDEX,NOFOLLOW" />
<link href="xxx/favicon.ico" rel="SHORTCUT ICON" />
<style id="spMenuStyle"></style>
<link id="ApplicationRoot" rel="AppRoot" href="/xxx/" /><script type="text/javascript" src="/xxx/scripts/Utility.js">
</script>
<script type="text/javascript" language="javascript" sr="cxxx/BlockIFrame.js">
</script>
<link href="/xxx/WebResource.axd?d=9IeP9KvvsN3Ik1tvDsOJspkYjKE_KnZBT8bvXX7faYYRqxbjgHhLZKgtKfFSoL4-itgpmZrgTG68lyrA-SRm95xnEdLdUHa4j1nbnB_xoc_0zNWbtGMRDJOai6Kgu4UI0Dg5lw2&amp;t=634950712700000000" type="text/css" rel="stylesheet" class="Telerik_stylesheet" />
</head>

===============>>#1 票数:0 已采纳

如果您可以注入自己的JavaScript,则可以注入X-UA-Compatible元标记。

此代码将注入meta标签并强制IE在边缘模式下运行,这意味着IE将其视为标准模式:

var meta = document.createElement('meta');
meta.setAttribute('http-equiv', 'x-ua-compatible');
meta.setAttribute('content', 'IE=edge');

document.getElementsByTagName('head')[0].appendChild(meta);

您可以在此处了解meta标签。

  ask by Danger14 translate from so

未解决问题?本站智能推荐: