IE9 has some peculiar quirks which it does not share with IE8 and IE10 (both of which work better than IE9). I've spent many, many hours chasing down each of these two quirks, and by posting them here I hope I can save others a similar amount of debugging time:
Unique to IE9:
1. Default security settings don't work. With the default security settings as shipped in IE9 (or if the user chooses "Reset all zones to default level"), extension.js is unable to send messages to background.js. You have to un-check the option, "Enable Protected Mode", in the Security tab of the Internet Options dialog. Once you do that, messages start flowing correctly, from extension.js to background.js. What makes this even more maddening, is that this ONLY a problem with the Production versions of Crossrider extensions. In Staging mode, this appears to not be an issue (it's fine to have Enable Protected Mode).
2. Must quote angle brackets in addInlineJS. If you're including a JS file onto the page context with addInlineJS, then, the JS file CANNOT contain left or right angle brackets. And I think single quotes might be a problem too, though I didn't verify that one for certain. In any case, I made the following substitutions in the JS file in order to make IE9 happy:
// left-angle-bracket: [backslash]u003c
// right-angle-bracket: [backslash]u003e
// single-quote: [backslash]u0027
The open and close angle brackets seem to trigger some kind of security filter.
Hope this save someone some time.
Help get this topic noticed by sharing it on
Twitter,
Facebook, or email.
Twitter,
Facebook, or email.
-
Hello Bryan,
Thank you for the detailed information which I'm sure will be helpful to others.
If anyone else has any other such tips to add, please feel free to add to this thread and we will use be happy to use it when assisting others. -
-
Shlomo,
Can you take a guess -- why is it that in IE9 Staging, it's ok if "Enable Protected Mode" is on, but not in Production? Is there a difference in your IE code base between staging and production? If so, push it live! Lets get it out there. -
-
Hello Bryan,
I discussed this with the dev team the Staging and Production versions should be identical. However,it's possible that your versions are not in sync OR the installer/extension you are using for the Production version is using an older framework.
Hence, if you provide the extension id for the Production version, I am happy to rebuilt the installer for you and you can try installing the extension again and seeing if the problem persists. In addition, please verify that your Production settings are identical to the Staging settings. -
-
-
-
Hello Bryan,
I rebuilt the installer ... please feel free to test and report back ;-) -
-
Shlomo,
I just re-tested on IE9, and my overall problems now appear worse. The Crossrider API to detect whether or not the extension is installed, is failing. This is only on the Production extension -- the Staging version of the same extension is working fine. And, IE8 and IE10 are working fine.
Very strange... -
-
Sorry, I was seeing something unrelated in my message an hour ago, ignore it.
IE9 does now appear to be working correctly, with Protected Mode, in Production, just as it always has in IE8 and IE10. Looks like something was fixed! -
-
Hello Bryan,
Pleased I didn't see your post an hour ago until now ;-)
Glad it's all working now! -
Loading Profile...




EMPLOYEE
