rgrove / lazyload

:skull: An ancient tiny JS and CSS loader from the days before everyone had written one. Unmaintained.
MIT License
1.39k stars 288 forks source link

Fixes Internet Explorer 10 compatibility #10

Closed gordyr closed 11 years ago

gordyr commented 11 years ago

IE 10 does not use the onreadystatechange event, it is considered a legacy API and does not fire correctly. IE 10 should simply use the onload event.

I have implemented simple browser version sniffing to rectify this.

aaronhb commented 11 years ago

Any chance of getting a minified version of this fix? This worked great!!!

laberning commented 11 years ago

Thanks, this just made my day!

rgrove commented 11 years ago

Sorry I haven't pulled this. I'm not happy with the way this version sniff is implemented (it's more verbose than it needs to be), but I've been too busy to work on LazyLoad recently and I no longer use it myself. Ideally I'd prefer to use feature detection for this rather than a sniff, if possible.

cherouvim commented 11 years ago

Why not apply the patch and improve later? The fact that it doesn't work in IE10 is worst than the sniffing.

rgrove commented 11 years ago

If you're happy with this patch, feel free to use it. You don't need to wait for me to apply it.

cherouvim commented 11 years ago

I am and already have. The problem I see with this is that every new (to lazyload) programmer will have to discover that it's not working with IE10, discover the fix and apply it.

arfordweb commented 11 years ago

I'd like to start my response by saying Thank You to Ryan for building this simple, easy-to-use plugin. It is far more intuitive to me than most other JS loaders I've worked with. Writing open source code is a thankless hobby, I'm sure. To think that users of your free code might come back and complain about it is as counter-intuitive as anything in this world, but is also unfortunately inevitable.

That being said, I have to agree with cherouvim. Finding and using a plugin like this one saves time and effort for developers, but not correcting a known bug when someone has submitted a working solution in turns costs those developers time and leads to frustration. I second, on behalf of future LazyLoad users, the idea of pulling the not-so-perfect solution for now and perfecting it at your leisure.

rgrove commented 11 years ago

I would happily merge a pull request that resolves this issue in the way I recommended above. I'm just not happy with this pull request. If you feel strongly about this, I encourage you to turn your feelings into code.

I don't use LazyLoad anymore, so I rely heavily on the community of people who do use it to help maintain it. As guilty as it makes me feel sometimes, there are a ton of things vying for my time that are more pressing than maintaining a library I no longer use (such as my actual job, and the projects I maintain that I do still use, and my personal life, and feeding my cat).

I'm flattered that there are people who still find LazyLoad useful and grateful that you all care enough to comment here, but commenting isn't going to fix this bug, and I'm not going to let guilt drive what I choose to work on. I hope you understand.