I am not a web developer, but sometimes old school websites (i.e. IE6 days) stand in the way of deploying new operating systems and technical progress. So even if you’re not a developer some basic web debugging skills are very useful.
So I was at Tullamarine (Melbourne) Airport today and my 3G speeds where just unbelievably bad so I thought I’d try the Qantas access point…
I was using Windows Developer Preview and connected to access point OK. However the page to enter credit card just did not work, no expiry date was selectable:
And no, this wasn’t some gadget purchase prevention software installed by my wife…
Right clicking the page I selected View Source
So these are lists that must get populated at runtime…now to help debug this we’ll hit F12 to get the Developer Toolbar, available in IE9 and later.
I selected the Scripts tab and searched for CreditCardExpiryMonth
I then searched for this function InitializeComplete
So I selected InitializeDom(); at the beginning of Initialize function and hit F9 to set a breakpoint there. I then hit Start Debugging
OK so we stop at my breakpoint so we know the Initialize() function is executing. I hit F5 after the breakpoint to keep going…
Mouse over the el we can see why:
The site is trying to createElement with embedded HTML control characters. As IE9 and later operate in standards mode by default this is not allowed…
Of course if you had checked the IE9 compatibility cookbook you would have known this already, with example on how to fix such code:
For the IE10 developers guide refer here http://msdn.microsoft.com/en-us/library/hh673549(v=vs.85).aspx
If you didn’t use the debugger you could also enable breaking on script errors, which is disabled by default. (try browse the internet with that setting and you’ll quickly realize why it’s disabled by default)
In this case the page from user’s point of view can be fixed by clicking compatibility view icon in address bar
From a system administrators point of view if we couldn’t get the website updated we could deploy the compatibility view setting via group policy.
Some other freely available IE compatibility tools you can use if developing/testing sites:
- Microsoft provided VHD virtual machines with Windows XP IE6, Windows Vista IE7, Windows 7 IE8 and Windows 7 IE9 here http://www.microsoft.com/download/en/details.aspx?id=11575
- Use Fiddler http://www.fiddler2.com in combination with IE10 compat inspector http://blogs.msdn.com/b/ie/archive/2012/01/20/ie10-compat-inspector.aspx
- Microsoft Application Compatibility Toolkit includes an IE8 compatibility monitoring utility. http://www.microsoft.com/download/en/details.aspx?id=7352