Closed Bug 334957 Opened 18 years ago Closed 15 years ago

msnbc.com - Fly-out Menu Items no longer fly-out (bad UA sniffing)

Categories

(Tech Evangelism Graveyard :: English US, defect)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jmjjeffery, Unassigned)

References

()

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060420 Firefox/2.0a1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060420 Firefox/2.0a1

Access www.msnbc.com and note with the build 2006042014 the fly-out menu's work, and the 'option' in the menu list to 'disable' the fly-outs is present. 

Update or Install the build 2006042104 and note that the fly-outs are no longer working and the 'option' to 'disable flyouts' is missing from the menu list. 

Reproducible: Always

Steps to Reproduce:
1. Use a build starting at 2006042004 
2. Access www.msnbc.com 
3. Note: flyout news items do not work

Actual Results:  
No flyout news items when mousing over the Menu on left side of page. 

Expected Results:  
Flyouts should work when mousing over the menu.
Assignee: nobody → english-us
Status: UNCONFIRMED → NEW
Component: General → English US
Ever confirmed: true
Product: Firefox → Tech Evangelism
QA Contact: general → english-us
Summary: Fly-out Menu Items no longer fly-out → msnbc.com - Fly-out Menu Items no longer fly-out (bad UA sniffing)
This was caused by the UA change from bug 334756. Trunk and branch nightly builds no longer include the string "Firefox", so the UA detection script on the site chokes. It should be checking for "Gecko", not "Firefox". Changing my UA to include "Firefox" makes the menus work.
Problem is the nm_init function in http://www.msnbc.msn.com/js/std.js:
[...]
   var sUa = window.navigator.userAgent, icIE = sUa.indexOf("MSIE"), icNN = sUa.indexOf("Gecko");
   if (icIE != -1) {
      nm_nIE = parseFloat(sUa.slice(icIE + 5));
   } else {
       if (icNN != -1) {
           nm_nNN = 6;
       }
   }
   nm_bWin = sUa.indexOf("Win") != -1;
   nm_sCoo = "; " + document.cookie + "; ";
   nm_bNM = ((nm_bWin && nm_nIE >= 5) || (nm_nNN >= 6));
   nm_bFM = ((nm_bWin && nm_nIE >= 5.5) || (sUa.indexOf("Firefox") > 0)) &&
            (sOTyp != "static") && (sOTyp != "javascript");
[...]
Blocks: 87471
I submitted some feedback through the form on http://www.msnbc.com/modules/feedback/techsup.asp.
After writing some mails and some discussion with them, their opinion seems to be basically "If we support 99% of the browsers end-users use, that's ok. We do not have the resources to support all browsers. Also we can only support released versions of browsers." (i pointed them to already existing Gecko detection scripts so, but it seems they did not care; i'm still not sure what Gecko feature they rely on to think only Firefox supports this...).
They are just following some pointy haired's idiot directions. I just changed my ua from Bonecho/2.0a2 to Firefox/2.0a2 (which is definitely not a released browser) and the menus work fine. I'll blog about them and see what happens.
Still a problem on 2007-06-18.

Gerv
looks ok, can anyone check this ?
works for me in minefield with a minefield ua on mac.
Seems to work fine with SeaMonkey trunk build. Also see Comment 3, the code now looks like this:
icNN=sUa.indexOf('Gecko')
[...]
nm_bFM=((nm_bWin&&nm_nIE>=5.5)||icNN||(sUa.indexOf('KHTML')!=-1))&&(sOTyp!='static');

They changed the way this variable is set to detect "Gecko" only in the UA instead of checking for Firefox
=> FIXED
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.