| Issue 181: | IE7 Modal overlay and content appears below veiwport | |
| 3 people starred this issue and may be notified of changes. | Back to list |
|
I'm not sure if anyone else is having this problem, but I just started using nyroModal and discovered I'm having trouble with it and IE7. What steps will reproduce the problem? 1. Go to http://nyromodal.nyrodev.com/ 2. Click Demos 3. Click on 'Gallery Img 1' for example. The modal overlay should cover the viewport, but instead it appears lower on the page. Sometimes, like on the (http://nyromodal.nyrodev.com/) demos, it appears below the viewable area on the screen, but the scroll bars disappear. I have to hit the ESC key in order to get rid of the non- existant modal. Is anyone else seeing this problem, or is it just me? My test environment that has this problem is using the following; nyroModal v1.4.2, jQuery v1.2.6, Windows XP Prof. SP3, IE7 Thanks, Spencer
Feb 28, 2009
Project Member
#1
nyro...@gmail.com
Mar 12, 2009
Hello, insitetools. Are you using mail.ru agent software? As I discovered, it causes such problem. My detailed report is in issue #192 .
Apr 9, 2009
any news about this issue?
Apr 12, 2009
Hello. I confirm issue described by insitetools. IE7 is not properly recognized by the script. Here was my example: I created a site and was opening modals. Everything worked perfectly in: Safari, Firefox, Opera, IE6. But something was wrong with IE7 - it was constant situation, which means it was repeating every time I was opening site with IE7. The same symptoms as described by insitetools. I started to search and post by platosha show me the way. I replaced var browserVersion = (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]; with platosha fix: var browserVersion = (userAgent.match( /.+(?:rv|webkit|khtml|opera|msie)[\/: ]([\d.] +)/ ) || [0,'0'])[1]; And it changed nothing. So I added a line: var isIE6 = false; It means I forced the script not to use any IE6 method of generating modal. AND IT FIXED everything in IE7. Summary: something is wrong with the line: var isIE6 = (/msie/.test(userAgent) && !/opera/.test(userAgent) && parseInt(browserVersion) < 7); It does not recognize IE7 well. Must be fixed. If you will find any idea to fix it - just let me know: zastawka@poczta.fm ps. Your script is AWESOME. I wanted it to work in xhtml 1.1 and I did it;) It validates and with serving content as xhtml it is the only modal-script I know works well (I mean not only page code is xhtml 1.1 valid, but also server is serving content as xhtml not text/html).
Apr 13, 2009
There's a bug in IE7 that returns IE6 user agent string. This is possibly your case, read here: http://jamazon.co.uk/web/2008/07/23/an-ie7-bug-that-returns-msie-60-user-agent-string/ Please check and report your user agent in IE7.
Apr 13, 2009
Hello. I have attached jpg file with the result of javascript:alert(navigator.userAgent) command as adviced in the article you gave me. Please check it out.
Apr 13, 2009
Something is wrong with the attachement (when I try to download jpg file posted few minutes ago it gaves me "wrong header" error), so I uploaded it to my server. Here is the link: http://www.avicodecs.pl/test/useragenttest.jpg
Apr 13, 2009
platosha: workaround given by the jamazon.co.uk in their article does not solve the problems with IE. So here is my opinion in this case: lets use some special features built in IE to make very good IE recognision. My idea is to use <!--[if IE]> comments. Especially <!--[if IE lt 7]> <!--[if IE gt 6]> <script type="text/javascript"> var isIE6 = false; </script> <![endif]--> It is just an example. It must be modified to pass isIE6 variable to nyroModal script.
Apr 13, 2009
Ok. Most reliable method of detecting IE version is like I said browser comment. Like: <!--[if lt IE 7]> <script type="text/javascript"> $.nyroModalSettings( isIE6: 'true' ); </script> <![endif]--> <!--[if gt IE 6]> <script type="text/javascript"> $.nyroModalSettings( isIE6: 'false' ); </script> <![endif]--> But it does not work (maybe someine will find some time to fix this method). Other one is just changing original line of nyroModal detecting mechanism for: var isIE6 = (/msie/.test(userAgent) && !/opera/.test(userAgent) && parseInt (browserVersion) < 7 && !window.XMLHttpRequest); "&& !window.XMLHttpRequest" helps us find everything that is not IE6 :) And now all my problems with IE6/IE7/IE8 are gone:) I still think that conditional comments are better, but this one is nice trick too;)
May 14, 2009
sorry for the delay. In the next release, I will use the 'window.XMLHttpRequest' test.
May 14, 2009
After a while, the version 1.5.0 is now here and should fix this issue.
Jun 2, 2009
Yes - it fixes the problem well. You can close this as fixed.
Jun 2, 2009
great, thanks!
Status:
Fixed
|
||||||||