Widgets.js error for IE8 - maybe other browsers?


#1

Within widgets.js, there’s an error with this in older browsers:

s.delete(["callbacks", t.callbackName])

This is caused by an attempt to access the “delete” property on an object Some browsers (like older versions of IE) don’t allow this without using object property access notation.

var someObject = {
    "delete": function() {
        console.log('foo');
    }
}

So far so good, until you do this:

someObject.delete();

You’re getting around the use of a reserved word when you create the object, but the accessor is the problem - you could circumvent the issue by doing this:

someObject['delete']();

Alternatively you could use a non-reserved word for that particular property. Either one will fix the issue.


#2

Hi Robert,

We no longer support rendering in IE8, so code should exit early before hitting it. Can you share the error that you see in IE8? If it’s a lower-level parse error before our early exit then we’ll definitely look into fixing it.

Thanks,

Ben


#3

Yes - I’m getting Expected Identifier from widgets.js, line 1 character 28279 from within the IE8 dev console, which traces back to the issue I noted in my first post :smile:

Thanks a ton!


#4

Gotcha, thanks for debugging that! I’ll try and find a minute to rename that function this week. Certainly it’s our intention that even in browsers we don’t support that we avoid catastrophic failures.

B