我在使用IE8中的dojo 1.9加载我的应用程序页面时遇到问题。从IE9开始,在Firefox和Chrome上都能完美运行。
控制台中抛出的错误是“LOG:回调中的异常:错误:找不到成员”,有时“'mid'为null或不是对象”,页面停止渲染。
HTML是:
<!DOCTYPE html>
<html>
<head>
<style> @import "../../../Scripts/dojolib/release/dijit/themes/claro/claro.css"; @import "../../../Scripts/dojolib/release/dijit/themes/dijit.css"; @import "../../../Scripts/dojolib/release/dgrid/css/dgrid.css"; </style><style type="text/css"> body { autofocus:false; } </style><meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<title>XYZ</title>
<link rel="stylesheet" href="../css/app-min.css">
<link rel="stylesheet" href="../css/systemsettings.css" />
<link rel="stylesheet" href="../css/pageLayout.css">
<link rel="stylesheet" href="../css/X420_style.css">
<script src='../../../Scripts/gw-app-config.js'></script><script src='../../../Scripts/dojolib/release/dojo/dojo.js'></script><script src='../scripts/gw-app.js'></script></head>
<body class="claro" >
<div id="maincontainer" class="container" style="width:1200px; margin: 0 auto; overflow: hidden; display: block;">
<div id="body" class="row">
<div class="wrapper">
<div id="topBanner" data-dojo-type = "dijit/layout/ContentPane"></div>
<div id="topMenu" data-dojo-type = "dijit/layout/ContentPane"></div>
<div id="content" data-dojo-type = "dijit/layout/ContentPane"></div>
<div id="footer" data-dojo-type = "dijit/layout/ContentPane"></div>
</div>
</div>
</div>
</body>
</html>
请告诉我IE8中可能出现的问题,如何调试此问题?
答案 0 :(得分:0)
即使您发布了整个页面的内容,也无法进行测试,因为我们不知道在哪里,例如dojoConfig指定。我相信它在gw-app-config.js文件中,但还有什么呢?
关于你的问题,我注意到的第一件事是你的元标记不在层次结构之上,它们应该在head标记之后。这将是第一个测试的建议。
请参阅此链接和第二个答案,这可能与您的问题不同,但类似 X-UA-Compatible is set to IE=edge, but it still doesn't stop Compatibility Mode
答案 1 :(得分:0)
经过大量调试后,我以belzebu突出显示的方式解决了这个问题。 IE8打破了每个Dojo语句,其中Dojo为IE8不支持的CSS字段(如背景,线性渐变)应用CSS样式。 我也删除了使用dom.byId()并使用了style.set() 我还用IE8和其他浏览器支持的CSS替换了CSS。