0

I am having problem loading my application page with dojo 1.9 in IE8. It works flawlessly from IE9 onwards and on firefox as well as chrome.

The error thrown in console is "LOG: Exception in Callback: Error: Member not found" and sometimes " 'mid' is null or not an object " and the page stops rendering.

The HTML is:

<!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>

Please tell me what can possibly go wrong in IE8 and how can I debug this issue?

rocktopus
  • 64
  • 1
  • 13

2 Answers2

0

Even though you have posted what looks like the whole page, it's impossible to test as we don't know where is e.g. dojoConfig specified. I believe it's in gw-app-config.js file, but what else is in there?

In regards of your problem, the first thing I've noticed is that your meta tags are not on top of hierarchy, they should be right after the head tag. That would be the first advice to test.

Please see this link and the second answer, that might not be the same problem as yours, but similar X-UA-Compatible is set to IE=edge, but it still doesn't stop Compatibility Mode

Community
  • 1
  • 1
belzebu
  • 810
  • 7
  • 25
  • yes @belzebu , I corrected the meta tag hierarchy and other things but the problem still persists. Anybody knows how to quickly analyse the code for IE incompatibility? – rocktopus Jul 22 '14 at 18:55
  • I don't think there is anything that would parse your code and highlight any possible issues with IE8. I'm afraid you will have to go one file after the other, maybe even line by line to see where it fails. From my experience, IE8 is VERY picky and unforgiving, e.g. an unterminated code line or any "minor" syntax errors will block the whole page in IE. – belzebu Jul 28 '14 at 03:49
0

I solved this after a lot of debugging in the same way belzebu had highlighted. IE8 broke on each and every Dojo statement in which Dojo was applying CSS styling for IE8 unsupported CSS fields (like background, linear gradient). I also eliminated use of dom.byId() and used style.set() I also replaced CSS with the one supported by IE8 and other browsers.

rocktopus
  • 64
  • 1
  • 13