mikehostetler / amplify

AmplifyJS
http://amplifyjs.com
GNU General Public License v2.0
1.45k stars 143 forks source link

addBehavior throws an exception in IE6 SP2 #31

Closed labaneilers closed 12 years ago

labaneilers commented 12 years ago

This line, in the block to support IE 5+, throws an exception

if ( div.addBehavior ) { div.addBehavior( "#default#userdata" ); //throws "unspecified error" in IE6 SP2

I've verified this on several of our QA lab boxes with IE6 SP2. The versions affected (so far): 6.0.3790.3959 SP2

scottgonzalez commented 12 years ago

Do you have restricted security settings on those boxes? This should work in all IE 6 installs.

labaneilers commented 12 years ago

You're right! The problem is not the version of IE6, but the security settings. If jack them up to block all ActiveX controls (even those marked "safe for scripting"), addBehavior throws an exception. Unfortunately, the addBehavior method still exists, so simply testing for its existence doesn't protect you.

Also, because the code's running in an IIFE, it gets run on every page on which amplify is included, even when its not used.

So- I think you still need the try/catch to fail gracefully. Plenty of poor folks out there are stuck in corporate hell with locked down IE6.

scottgonzalez commented 12 years ago

Closing as duplicate of #17.

scottgonzalez commented 12 years ago

This is fixed now.