0

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

因此,IE 总是以打破 CSS 的怪癖模式呈现网站。我无权更改文档类型或编辑<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>
4

1 回答 1

0

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

此代码将注入元标记并强制 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);

您可以在此处了解元标记。

于 2013-04-16T05:03:58.097 回答