我正在设计一个基于.NET软件内容管理系统解决方案的网站,不遵循当前的最佳实践。它使用表格和<!-- DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -->的文档类型。软件公司不允许你编辑.aspx文件或js。它们只允许您编辑样式表和不同的模块,例如HTML模块、天气模块、幻灯片显示模块等。
因此,IE总是以打破CSS的怪癖模式呈现站点。我没有权限在<head></head>中更改文档类型或编辑任何内容。
有没有一种方法可以在不访问代码的情况下更改doctype?
我要处理的是:
<!--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&t=634950712700000000" type="text/css" rel="stylesheet" class="Telerik_stylesheet" />
</head>发布于 2013-04-16 13:03:58
如果您能够注入自己的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);You can learn about the meta tag here.
https://stackoverflow.com/questions/16028248
复制相似问题