I have a client's site uploaded to http://fjamison.freehostia.com/, but she says the menus don't work on her Mac.
Does anyone have any idea as to why this is so or how to resolve this issue?
I have a client's site uploaded to http://fjamison.freehostia.com/, but she says the menus don't work on her Mac.
Does anyone have any idea as to why this is so or how to resolve this issue?
Quick summary tied to the existing replies: was right to suspect a cross-browser issue and 's note that the menu is wrapped in a JS file narrows things down. Typical Mac/browser failures come from three places: JavaScript initialization/event differences, CSS stacking/overflow quirks that hide dropdowns, and DOM-ready timing (script runs before elements exist). Focus on reproducing the problem in the same Mac browser/version and then run the small checks below in order.
First-pass checklist and tiny fixes to try immediately:
window.event or document.all). <body> or use a DOM-ready wrapper such as:function ready(fn){
if (document.readyState !== 'loading') fn();
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', fn);
else window.attachEvent('onload', fn);
} function addEvent(el, type, fn){
if (el.addEventListener) el.addEventListener(type, fn, false);
else if (el.attachEvent) el.attachEvent('on' + type, fn);
else el['on' + type] = fn;
}
function getTarget(e){
e = e || window.event;
return e.target || e.srcElement;
} overflow:hidden and check stacking contexts (position + z-index). A reliable pattern is a positioned container and absolutely positioned submenu:.menu{ position:relative; }
.menu .submenu{ position:absolute; top:100%; left:0; z-index:9999; } Debug workflow: reproduce on a Mac, add console.log or temporary alerts in the menu init and event handlers to see whether they fire, then progressively disable CSS or JS to isolate whether the problem is styling or scripting. If the code still fails after these steps, post a minimal, reproducible HTML+JS snippet (trimmed to the menu only) so the exact cause can be diagnosed.
Jump to Post— autocrat 52Well, it may be the menu code!
I know that is stating the obvious - but have you checked with the menu originator that it is compatible?
Does the client have JS eanbled?
Is the scripting using windows proprietry expressions?Alternatively, contact the suppliers of the menu code.
…
Well, it may be the menu code!
I know that is stating the obvious - but have you checked with the menu originator that it is compatible?
Does the client have JS eanbled?
Is the scripting using windows proprietry expressions?
Alternatively, contact the suppliers of the menu code.
Then again, you have a JS only menu, so you're boned no matter what!
(EDIT: It's your own code isn't it ?)
It is my own code.
It works in opera, IE6, IE7, Firefox, AOL, and Netscape on a PC. Is the browser in a Mac so different as to cause the menu not to work?
Can some of the other forum members with Macs confirm that the menu does not work on their computers?
Thanks
When your client says
" ...the menus don't work on her Mac. "
does she mean it doesn't show up, or that the top links do but not the popups, or that the popups appear but are displaced?
If the former, then it is most likely the JS.
If either of the remaining two options, then it could simply be the styling.
And yes, there are some notable differences on the Mac IE (which to be honest, is just about dead anyways , isn't it?).
Is there a reason for the JS only meu ... rather than using a JS/CSS hybrid, such as the Suckerfish menu (or one of the "son's")?
They may not be perfect, but at least you can navigate somewhat with JS disabled, and it works on most Browsers and OS's... and most important of all... it's accessible, even with JS disabled!
It actually is a javascript/css hybrid menu. It is wrapped in a js file for portability.
She waas not clear on exactly what it was or was not doing...so I will have to check it out when I see her again.
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.