Code Monkey home page Code Monkey logo

Comments (11)

david-mark avatar david-mark commented on August 21, 2024 1

What you had hold of initially was an ActiveX exception (the number is an HRESULT). Clearly IE 11 is no longer using ActiveX objects behind the scenes.

Might as well remove the check as it simply causes all other exceptions to fail silently. There's really no way to deal with the exception anyway. What's the point of having it enumerable in some browsers and not in others?

Realize this will never be a perfect imitation of classList. It's simply an impossible task; for one, the array-like object returned is not live. Then there's the unsolvable IE 8- issue at hand.

A "polyfill" that doesn't actually work as expected only serves to deceive other scripts. It fools their feature detection into thinking that the feature is there, but it's really just an incomplete imposter.

In general, DOM "polyfills" are highly ill-advised and this one is a good example of why. Better to write wrappers (e.g. hasClass, addClass, etc.)

Also note that transpiling is just a red herring here.

HTH

from classlist.js.

eligrey avatar eligrey commented on August 21, 2024 1

I'm super busy with my proprietary stuff and missed this a year ago. I merged #43 just now.

I'm sorry about this issue affecting any of you. Please tell me if the changes I have merged have fixed this issue for you.

from classlist.js.

eligrey avatar eligrey commented on August 21, 2024

Hmm, odd. I will need to investigate further before removing the condition, but thanks for informing me. Years ago when I first made classList.js, that condition was working fine in IE8. Maybe a security patch changed something.

from classlist.js.

johngeorgewright avatar johngeorgewright commented on August 21, 2024

Agreed, having a condition there is probably a good idea. There may be some other kind of duck typing you can check on the error.

from classlist.js.

pkese avatar pkese commented on August 21, 2024

I can also confirm this issue. ex.number results to undefined in IE11's compatibility mode for IE8.
Removing the condition seems to solve it.

from classlist.js.

MadLittleMods avatar MadLittleMods commented on August 21, 2024

👍 Tested in IE8 with XP VM and this is still a problem. The solution proposed works great.

IE v8.0.6001.18702
Update Versions: 0

from classlist.js.

nbouvrette avatar nbouvrette commented on August 21, 2024

How can you replicate the problem? I have the same IE8 version in a Windows XP VM and I don't have this issue.

from classlist.js.

MadLittleMods avatar MadLittleMods commented on August 21, 2024

Windows XP VM from Microsoft running in VirtualBox on a host Macbook.

I use it via require/import it in a browserify/webpack bundle with babel transpiling

from classlist.js.

nbouvrette avatar nbouvrette commented on August 21, 2024

I'm running my Windows XP VM (32 bits) in a Virtual Box hosted on a Windows 7 VM (64 bits).

First time I hear about transpiling. I simply load classList.js in my <head> and it has been working well so far.

from classlist.js.

Finesse avatar Finesse commented on August 21, 2024

@eligrey Could you please update the classList.js on the CloudFlare CDN and post the updated URL's in the readme.md?

from classlist.js.

englishextra avatar englishextra commented on August 21, 2024

I use this commit beck@d94a623 but it seems ie11 wont support multiple args. So I have to write:

e.classList.add(a);
e.classList.add(b);

from classlist.js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.