Javascript Dojo 1.9在IE8上不起作用,在IE9以后的版本上可以完美地工作

Javascript Dojo 1.9在IE8上不起作用,在IE9以后的版本上可以完美地工作,javascript,html,internet-explorer-8,dojo,dtd,Javascript,Html,Internet Explorer 8,Dojo,Dtd,我在IE8中加载dojo 1.9的应用程序页面时遇到问题。从IE9开始,它就可以在firefox和chrome上完美地工作 控制台中抛出的错误是“LOG:Exception in Callback:error:Member not found”,有时是“'mid'为null或不是对象”,页面停止呈现 HTML是: <!DOCTYPE html> <html> <head> <style> @import "../../../Scripts/dojo

我在IE8中加载dojo 1.9的应用程序页面时遇到问题。从IE9开始,它就可以在firefox和chrome上完美地工作

控制台中抛出的错误是“LOG:Exception in Callback:error:Member not found”,有时是“'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>

@导入“../../../Scripts/dojolib/release/dijit/themes/claro/claro.css”@导入“../../../Scripts/dojolib/release/dijit/themes/dijit.css”@导入“../../Scripts/dojolib/release/dgrid/css/dgrid.css”;正文{自动对焦:false;}
XYZ

请告诉我IE8中可能出现的错误以及如何调试此问题?

即使您发布了整个页面的内容,也无法进行测试,因为我们不知道在哪里指定了dojoConfig。我相信它在gw-app-config.js文件中,但里面还有什么

关于您的问题,我注意到的第一件事是,您的元标记不在层次结构的顶部,它们应该在head标记之后。这将是测试的第一个建议

请查看此链接和第二个答案,这可能与您的问题不同,但类似

经过大量调试后,我以贝尔泽布强调的方式解决了这个问题。IE8打破了Dojo对IE8不支持的CSS字段(如背景、线性渐变)应用CSS样式的每条Dojo语句。 我还消除了dom.byId()的使用,并使用了style.set()
我还用IE8和其他浏览器支持的CSS替换了CSS。

yes@belzebu,我纠正了元标记层次结构和其他问题,但问题仍然存在。有人知道如何快速分析IE不兼容的代码吗?我不认为有任何东西可以解析你的代码并突出IE8可能存在的问题。恐怕你得一个接一个地检查文件,甚至一行一行地检查失败的地方。根据我的经验,IE8是非常挑剔和无情的,例如,一个未终止的代码行或任何“小”语法错误都会阻塞IE中的整个页面。