1
tzvook
IE7 and the 2.2.x horisonal menu
  • 2007/11/13 20:48

  • tzvook

  • Just can't stay away

  • Posts: 875

  • Since: 2003/2/1 2


Hello all
Since IE7 got into the microshiXt system updates and every windows user will have it at some point (without understanding how far is it from FF) , my users began complaining about the incompibility of the 2.2.x default theme for the IE7 (have I said how lousy it is yet? ) ....

Anyway, to fix the issue that the subs are not getting open, you need to edit the file /themes/default/js/adminmenu.js

look for the area begins with:
this.arrow1 null


and add what needs to be added (I hacked it long ago for LTR hebrew staff, so just see for yourself what needs to be done ...

this.arrow1 nullthis.arrow2 nullthis.browser = { "ie"Boolean(document.body.currentStyle), "ie5": (navigator.appVersion.indexOf("MSIE 5.5") != -|| navigator.appVersion.indexOf("MSIE 5.0") != -1),
        
"ie6": (navigator.appVersion.indexOf("MSIE 6.0") != -|| navigator.appVersion.indexOf("MSIE 7.0") != -1),
        
"ie7": (navigator.appVersion.indexOf("MSIE 7.0") != -1)


for RTL support if needed, go a bit down to
this.arrow1 null


and change what you need acording to my logic (again, the RTL hack was done long ago, so I don't remember what was changed, I just fixed the IE7 compibility now)

var box1 document.getElementById(id "-" + (tree.length 1)); var box2 document.getElementById(nodes[i].id); var el = new Element(box1.id); if (el.level == 1) { if (this.type == "horizontal") { box2.style.top = (box1.offsetTop box1.offsetHeight this.position.level1.top) + "px"; if (this.browser.ie5) { box2.style.left = (this.position.level1.left) + "px";}                             else if (this.browser.ie6) { box2.style.right = (this.position.level1.left) + "px";} 
else if (
this.browser.ie7) { box2.style.left = (this.position.level1.left) + "px";}


Hope it'll hep someone

2
tzvook
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/13 21:11

  • tzvook

  • Just can't stay away

  • Posts: 875

  • Since: 2003/2/1 2


I forgot to mention that one more thing may be be for help (depend on the rest of your CSS (rtl - ltr and so ...) , though it removes ISE 5.5 compibility ...
open the themes/default/css/style.css, look for this line in the end of the file:

html .NavMenu td positionrelative;} /* ie 5.0 fix */


change into:

html .NavMenu td positionrelative;} /* ie 5.0 fix */


so compibility is kept for IE6 + IE7

3
irmtfan
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/14 7:37

  • irmtfan

  • Module Developer

  • Posts: 3419

  • Since: 2003/12/7


huum, but in my experiences, there is no need to change js files.
just modify the css is enough.
IE 7.0.5730.11

4
tzvook
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/14 8:53

  • tzvook

  • Just can't stay away

  • Posts: 875

  • Since: 2003/2/1 2


Quote:

irmtfan wrote:
huum, but in my experiences, there is no need to change js files.
just modify the css is enough.
IE 7.0.5730.11


Hi irmtfan
Well, you might be right, but as I said I made so many changes for my RTL needs ... that I forget what is original and what is the original ...

My menu had JS erors and didn't show up at all (no subs), but I gave it RTL additions (FF,IE5,IE5.5,IE6 , behaved different to it when it turned into RTL, so I had to...)
I changed about 5 sites and still didn't get to the English based ones, so you may be right.

5
wizanda
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/14 13:32

  • wizanda

  • Home away from home

  • Posts: 1585

  • Since: 2004/3/21


Thank you, this was another thing i wanted to fix and hadn't got around to looking at, yet....it is just the CSS as just changed mine, only thing is though it then messes up FireFox....

6
tzvook
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/14 14:53

  • tzvook

  • Just can't stay away

  • Posts: 875

  • Since: 2003/2/1 2


Quote:

wizanda wrote:
Thank you, this was another thing i wanted to fix and hadn't got around to looking at, yet....it is just the CSS as just changed mine, only thing is though it then messes up FireFox....


Yep, because this part in the css was for IE, but is hidden from IE7

/* hides rule from all but IE < 7 */
html


so if deleted is messing up FF css

the trick I use for hiding staff from FF is the folowing:

selector { { declaration }


hope it'll help

7
irmtfan
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/14 15:05

  • irmtfan

  • Module Developer

  • Posts: 3419

  • Since: 2003/12/7


as you know persian is RTL too.
so this issue is not related to IE7 issue at all.
i solved it in 2.2.3 at those time by change these lines.
i dont remember it just i think it work in similar way with you:
/* Start open menu from right_to_left - hacked by irmtfan*/
box2.style.Right = ( box1.offsetLeft this.position.level1.left) + "px";}
/* End open menu from right_to_left - hacked by irmtfan*/
} else if (this.type == "vertical") { box2.style.top = (box1.offsetTop this.position.level1.top) + "px"; if (this.browser.ie5) { box2.style.left = (box1.offsetWidth this.position.level1.left) + "px";} else { box2.style.left = (box1.offsetLeft box1.offsetWidth this.position.level1.Left) + "px";}
}
} else { 
box2.style.top = (box1.offsetTop this.position.levelX.top) + "px";
/* Start open popup from right_to_left on mouse click - hacked by irmtfan*/
box2.style.right = (box1.offsetLeft box1.offsetWidth this.position.levelX.left) + "px";}
/* End open popup from right_to_left on mouse click - hacked by irmtfan*/

8
phppp
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/14 15:56

  • phppp

  • XOOPS Contributor

  • Posts: 2857

  • Since: 2004/1/25


Submitted to patch tracker?

9
tzvook
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/14 16:00

  • tzvook

  • Just can't stay away

  • Posts: 875

  • Since: 2003/2/1 2


Quote:

irmtfan wrote:
as you know persian is RTL too.
so this issue is not related to IE7 issue at all.
i solved it in 2.2.3 at those time by change these lines.
i dont remember it just i think it work in similar way with you:
/* Start open menu from right_to_left - hacked by irmtfan*/
box2.style.Right = ( box1.offsetLeft this.position.level1.left) + "px";}
/* End open menu from right_to_left - hacked by irmtfan*/
} else if (this.type == "vertical") { box2.style.top = (box1.offsetTop this.position.level1.top) + "px"; if (this.browser.ie5) { box2.style.left = (box1.offsetWidth this.position.level1.left) + "px";} else { box2.style.left = (box1.offsetLeft box1.offsetWidth this.position.level1.Left) + "px";}
}
} else { 
box2.style.top = (box1.offsetTop this.position.levelX.top) + "px";
/* Start open popup from right_to_left on mouse click - hacked by irmtfan*/
box2.style.right = (box1.offsetLeft box1.offsetWidth this.position.levelX.left) + "px";}
/* End open popup from right_to_left on mouse click - hacked by irmtfan*/


Yep I know
I solved it long ago (in a similar way) and all was OK till IE7 got to the picture.
IE7 simply can read the line in the css ...
but it's fixed for me now .

10
tzvook
Re: IE7 and the 2.2.x horisonal menu
  • 2007/11/14 16:10

  • tzvook

  • Just can't stay away

  • Posts: 875

  • Since: 2003/2/1 2


Quote:

phppp wrote:
Submitted to patch tracker?


I'm not sure it's essential, since we solved it, each in his own way, and there no such demand for rtl issues as far as I see.

I think that if there will be a css menu in the next version, it'll simply need to support rtl better and deal better with IE7.
This css menu is not being developed anymore as far as I know, and that's why there's no compibility with IE7, but there's many of those running around with cross-browser compibility and simple rtl - ltr behaviour via the css itself.

And for a "directionality" system-wide support , it'll better be defined via the general system preferences.
that way modules devs will be able to deal better with the align="right" / align="left" staff .... I'll be glad to assist when(if) there will be support for this in the core (my company develops Hebrew rtl sites with XOOPS since 2002 ).

Login

Who's Online

227 user(s) are online (142 user(s) are browsing Support Forums)


Members: 0


Guests: 227


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Mar 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits