TurnWheel / jReject

jQuery Browser Rejection Plugin
http://jreject.turnwheel.com/
277 stars 98 forks source link

IE7 - non-functioning; script error #49

Open jamesinc opened 10 years ago

jamesinc commented 10 years ago

jReject is currently broken in IE7.

Symptoms: a script error (in typical old-IE fashion it is terse and difficult to see exactly where the issue lies)

Steps to reproduce: View any jReject site in IE7 that has IE7 rejection enabled. The jReject demos page has the problem.

Update: the problem goes away when the script is compressed. Whitespace issue maybe? IE7 can sometimes is a bit weird about line-breaks and such when declaring lists of variables.

EvgenyGusev commented 10 years ago

+1 I have the same problem, but seems like even in compressed version script doesn't work. It`s very disappointing, because main goal is to reject ie7, 6

BluSyn commented 10 years ago

Any details on error type, line number, etc? I don't have a windows machine anymore, so hard for me to debug old-IE.

EvgenyGusev commented 10 years ago

For me problem is not in jReject itself but in jquery. jQuery 2.x does not support IE8<. It means that f.e. i have modern web app and i want to notify user about old browser. Of course i have latest version of jQuery included. But user with IE7 cannot see dialog because of jQuery error. In this case i can include two version of jQuery using something like https://gist.github.com/dwoodiwiss/5633393 or http://api.jquery.com/jquery.noconflict/. What do you think @BluSyn? Maybe include minified version of jQuery 1.7 in jReject?

BluSyn commented 10 years ago

That actually makes sense. I hadn't thought of that. Since 2.x has deprecated old versions of IE, it wouldn't make sense to run jReject on 2.x. Unless you were interested in specifically blocking modern browsers. It is rather frustrating though. Since the point of jReject is to block old browsers, having to partially support them by using jQuery 1.x kind of defeats the purpose. Nobody really wants to use two versions of jQuery either.

I'll have to see if there is a middle ground, where somehow the key jQuery components in 2.x can be serviced to use on old-IE. Any alternative suggestions would be welcomed.

jonathansimmons commented 10 years ago

@BluSyn What are your thoughts on moving away from a jQuery altogether plugin? I see you're using jQuery Browser Plugin right now but if we could replace that dependecy, bowser might be worth a look, maybe we could avoid this problem altogether.

I only say this because you're dead-on about the point of jReject. As a dev I want to use jQuery 2.x because it gets rid of a lot of OLD browser bloat. Having to use two jQuery versions is not cool but having to use the 1.X version of jQuery is just as gross, if not worse.

teokosmo commented 9 years ago

+1 about the script error in IE 7 jquery.reject,js , line 40 the problem is the ending comma in 'url' property which results to IE 7 script error

SCRIPT1028: Expected identifier, string or number File: jquery.reject.js, Line: 44, Column: 13

peterthorpe81 commented 9 years ago

As @teokosmo said its an issue with an extra comma after the chrome link that makes the script invalid in IE7. Not specifically a jQuery issue although i'm sure there are issues if you use jQuery 2.0.

I got the code from here http://jreject.turnwheel.com/ which seems to be different to the github code, so perhaps that just needs changing to github link or updating.