2014-07-17 79 views
0

我在使用IE8中的dojo 1.9加载我的应用程序页面时出现问题。它从IE9以及Firefox和Chrome浏览器完美地工作。Dojo 1.9在IE8上无法正常工作,在IE9以上工作完美

在控制台中抛出的错误是“LOG:回调中的异常:错误:找不到成员”,有时候“中间为空或不是对象”,页面停止呈现。

的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

我解决了这个以同样的方式belzebu很多调试强调了后。 IE8在每个Dojo语句中都抛出了Dojo声明,其中Dojo为IE8不受支持的CSS字段(如背景,线性渐变)应用CSS样式。 我也淘汰了dom.byId()和used style.set() 的使用我也用IE8和其他浏览器支持的CSS取代了CSS。

0

尽管您发布了看起来像整个页面的内容,但无法测试,因为我们不知道它在哪里。指定dojoConfig。我相信这是在gw-app-config.js文件中,但是那里还有什么?

关于你的问题,我注意到的第一件事是你的meta标签不在层次结构之上,它们应该紧跟在head标签之后。这将是第一个要测试的建议。

请访问以下链接与第二个答案,这可能是不一样的问题,因为你的,但类似的 X-UA-Compatible is set to IE=edge, but it still doesn't stop Compatibility Mode

+0

是@belzebu,我更正了元标记层次和其他内容,但问题仍然存在。任何人都知道如何快速分析IE不兼容的代码? – rocktopus

+0

我不认为有任何东西会解析你的代码,并强调IE8的任何可能的问题。恐怕你将不得不一个接一个地看一个文件,甚至可能一行一行地查看它失败的地方。根据我的经验,IE8非常挑剔和无情,例如未终止的代码行或任何“次要”语法错误都会阻止IE中的整个页面。 – belzebu

相关问题