Reputation: 3116
I have developed my web application w/o testing it on IE. Though it worked fine on all the browsers viz. Chrome, Firefox, Safari but when it comes to IE there is a strange behavior.
Sometimes the app loads and some times a blank page is loaded as if none of the "bind" events had any effect.
And the lucky times when the app loads, the nav panel is partially missing. I can't show you the code right now coz I am not sure what part to show and where I am doing it wrong.
If anyone of you can provide me a checklist of what to check and what tools would be ideal for debugging on IE then it would be great.
And if anyone of you can tell me most common backbone.js bugs on IE then that too would help.
PS: Version of IE I am testing with: IE8
Upvotes: 14
Views: 15902
Reputation: 5711
If you are running Windows 7, you should upgrade to IE9. Then you can use IE developer tools to debug your page. It is similar to using firebug or the webkit developer tools. With the IE developer tools, you can emulate back to IE7 as well.
If you are running XP, you should get Windows 7 and then upgrade to IE9.
Also, you should use something like es5 shims. This provides javascript functionality that is present in modern browsers, but not old versions of IE.
Upvotes: 3
Reputation: 726
I have found that your HTML templates need to be well formed HTML. Chrome and Firefox seem much more forgiving but with IE 8, the inclusion of a bad caused a blank view to be displayed.
Upvotes: 0
Reputation: 1
Dynamic Binding is not supported by MSIE <10 ,but its working out in MSIE 10. The jQuery codes like .show(),.hide() might work in static binding ,but in case of Backbone ,Node like frame work using dynamic binding,templating and other technology might not work on it MSIE 10 will be able to catch on it
Upvotes: 0
Reputation: 84150
Some issues in IE are:
Trailing commas on Objects:
E.g.
App.model = Backbone.Model.extend({
url: "/foo/bar",
validate: function() {
},
});
Should be:
App.model = Backbone.Model.extend({
url: "/foo/bar",
validate: function() {
}
});
The use of functions that are not available in IE such as lastIndexOf()
A third thing to check for is invalid HTML. IE can be particularly picky about your HTML structure. Be sure that all open tags either have a matching close tag, or are self closing with />
If you are using JSON methods such as JSON.parse()
and JSON.stringify()
then be sure to include a JSON library such as JSON2.
Upvotes: 24