Closed Bug 185161 Opened 22 years ago Closed 18 years ago

ooshop.fr - after login, it's impossible to add anything into the basket.

Categories

(Tech Evangelism Graveyard :: French, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ptmouly, Unassigned)

References

()

Details

(Whiteboard: [havecontact][bug248549notfixed])

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207 Phoenix/0.5
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207 Phoenix/0.5

in the food-list of ooshop.com (after you've logged-in...) when you want to
select a thing to put it into your basket, (by clicing on the little arrows for
exemple) nothing append.
In the same way, when you want to finish your selection, you have to clic on the
lower right button whitch doesn't work too.
The Javascript Console tells there is an error :

"undefined has no properties"
Source File : http://www.ooshop.fr/includes/js/Lib_ListeProd.js
Line : 143



Reproducible: Always

Steps to Reproduce:
1. Log in
2. Select a kind of thing you want in the left java bar
3. Try to select a thing in the middle frame.

Actual Results:  
Nothing....  in other browsers, the thing is added to your basket and you can
see it in the right java bar.


Expected Results:  
?
I think there's a probleme in the Javascript Parser OR the javascript source is
buggy.
Blocks: 114959
I suspect coding problems at the site, not JS Engine. Reassigning to
Tech Evangelism. Compare bug 114959, "ooshop.fr : Home page renders badly"

The error indicated in the JavaScript Console is occurring here:

function VerificationStock(pi_prodid, pi_MvtQte)
{
  var vi_QTE = 0;
  var vi_oldQTE = 0;
  var vs_URL;

  vi_QTE = parseInt(eval(gs_formnom+'.QTE' + pi_prodid).value,10) + pi_MvtQte;


           

We've had recent trouble with DHTML; see bug 185153,
"NS_ERROR_INVALID_POINTER in DHTML menu code"

It might be that, or it might be invalid HTML/JavaScript at the site.
We need to see how the element 'QTE...' is defined.


Pete:

1. Is there any chance you could create a test id and password?
   That way, we could debug this site; thanks. 

2. If that's not possible, could you login, go to the page that 
   produces the error, save the HTML, and attach it here via the
   "Create a New Attachment" link above? Make sure no private
   information about your account is contained -

3. Did the site EVER work in Mozilla, do you know?

4. Are there any other errors in the JavaScript Console from this site,
   or just the one you mentioned?


Thanks -
Assignee: rogerl → nitot
Component: JavaScript Engine → Europe: West
Product: Browser → Tech Evangelism
QA Contact: pschwartau → brantgurganus2001
Summary: After log in ooshop.com, it's impossible to add anything into the basket. → ooshop.fr : after login, it's impossible to add anything into the basket.
Version: Trunk → unspecified
1. I found out that it's not necessary to log in to see that bug.
   You Can also just enter as guest.
   To do so: 
       a - go to the home page
       b - clic en the "entrer dans le magazin" bouton ("enter in the shop")
       c - then they ask you your postal code, enter 75013 for exemple
       d - then they tell you they can deal with you. clic the yellow button
       e - There you are! On the left, select "Rayon" in the "Magasin" section
       f - go deeper in the tree till "Rayons/Livre/magazine/prix literraire."
       g - now try to increase any number of article in the middle frame : the 
error occures!
    
2. If the 1. doesn't work tell me...

3. I'm only using Phoenix for few weeks, but I know phoenix 0.4 and 0.5 are 
both making the error 

4. Nop. Haven't seen other yet
Pete: thank you for such excellent steps to reproduce this!
Confirming bug with Mozilla trunk binary 20021204xx on WinNT.

It is definitely caused by a coding error at the site.
This is the browser-sniffing they do at http://www.ooshop.com:


var isNN4Sup, isIE4Sup;

if (parseInt(navigator.appVersion.charAt(0)) >= 4)
{
  isNN4Sup = (navigator.appName == "Netscape") ? true : false;
  isIE4Sup = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
  if(isNN4Sup &&
     navigator.appVersion.charAt(0) == 4 &&
     navigator.appVersion.charAt(1) == '.' &&
     navigator.appVersion.charAt(2) == 0 &&
     navigator.appVersion.charAt(3) == 5)
          isNN4Sup = false;
}
else
{
  if (navigator.UserAgentHTTP == "Mozilla/3.0 (Planetweb/%s; Puma)")
  {
    isNN4Sup = true;
    isIE4Sup = false;
  }
  else
  {
    isNN4Sup = false;
    isIE4Sup = false;
  }
}


Notice that in Mozilla, both |isNN4Sup|, |isIE4Sup| end up as |false|.
The variable we saw above, |gs_formnom|, is set as follows in the file
http://www.ooshop.fr/includes/js/Lib_ListeProd.js:


if (isIE4Sup || isIE4 )
{
  gs_formnom = "top.ooshop.frmcenmagasin.document.FormListeProduits";
  gs_formnomGet = "top.ooshop.frmcenmagasin.document.formulaire";
}
else if (isNN4Sup)
{
  gs_formnom =
"top.ooshop.frmcenmagasin.document.layers['LayerAffichage'].document.FormListeProduits";
  gs_formnomGet =
"top.ooshop.frmcenmagasin.document.layers['LayerAffichage'].document.formulaire";
}


This means that in Mozilla, |gs_formnom| is never assigned a value
and therefore has the value |undefined|. That leads to the error on
line 143 we saw in Comment #1, when they try to do:

vi_QTE = parseInt(eval(gs_formnom+'.QTE' + pi_prodid).value,10) + pi_MvtQte;


Since |gs_formnom| is |undefined| in Mozilla, this line produces
the run-time error that we see in the JavaScript Console -
Status: UNCONFIRMED → NEW
Ever confirmed: true
Oops, the browser-sniffing I pasted above, from the parent page at
http://www.ooshop.com, actually sets |isNN4Sup| = |true|

The problem is http://www.ooshop.fr/Includes/js/lib_LayerAttente.js,
when |isNN4Sup| is set again, this way:


var isNN4Sup, isIE4Sup,isIE4;
if (parseInt(navigator.appVersion.charAt(0)) >= 4) 
{ 
  /*
  isNN4Sup = (navigator.appName == "Netscape") ? true : false;
  isIE4Sup = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
  */

  isNN4Sup = (navigator.appName.indexOf("Netscape",0)!=-1 &&
              parseInt(navigator.appVersion)>=4 &&
              parseInt(navigator.appVersion)<5) ?
                  true : false;

  isIE4Sup = ((navigator.appVersion.indexOf("MSIE 6")!= -1 ) ||
              (navigator.appVersion.indexOf("MSIE 5")!= -1 ) ||
              (navigator.userAgent.indexOf("Netscape6",0)!=-1)||
              (navigator.userAgent.indexOf("Netscape/7.0",0)!=-1)) ?
                  true : false;

  isIE4 =    (navigator.appVersion.indexOf("MSIE 4")!= -1) ?
                  true : false;
}
else 
{
  isNN4Sup = false;
  isIE4Sup = false;
  isIE4 = false ;
}



In my current Mozilla build,

        |navigator.appVersion| = "5.0 (Windows; en-US)"

The strange line in the code above:

        parseInt(navigator.appVersion)>=4 &&
        parseInt(navigator.appVersion)<5)

therefore evaluates to |false| in the current Mozilla.
The site wants 4, we have 5, so they set |isNN4Sup| to |false|.


Notice the site commented out the earlier line,

   isNN4Sup = (navigator.appName == "Netscape") ? true : false;


Again, the fact that |isNN4Sup| is |false| is causing the 
run-time error reported above in the JavaScript Console.
The bug only appears on Mozilla. Netscape 7.0 works fine. Note that using
Konqueror identified as IE works as well.

I've contacted the webmaster at: client@ooshop.com
Summary: ooshop.fr : after login, it's impossible to add anything into the basket. → ooshop.fr - after login, it's impossible to add anything into the basket.
Whiteboard: [havecontact][XBROWSER-JS]
The customer support has transfered my message to the site webmasters.
No answer yet.
yup, they should try to spot gecko and not netscape 6 or 7.
(http://devedge.netscape.com/viewsource/2001/find-gecko/ is the way...)
Whiteboard: [havecontact][XBROWSER-JS] → [havecontact][XBROWSER-JS][havefix]
moving.
Assignee: nitot → french
Component: Europe: West → French
QA Contact: brantgurganus2001 → french
Still no answer ? 
Well, maybe another mail could be a good idea.
Guys!!! Oh guys!!! (& girls!!!).

You make me very happy, in the mean "I'm not alone in the world"...

As frenchman, I've already spend a good night to explore Ooshop %$*@ javascripts
and html pages... I came to the same conclusion as Phil Schwartau, there browser
identification tests are nuts.

With Mozilla 1.4, CSS tests went ok, JAVA went ok. But their tests could lead to
the conclusion that it will be better to have Netscape 4!!! They recommand IE >=
5 or Netscape >= 6. It doesn't work at all with a such version. Obviously they
don't know what Gecko is. IE works fine, naturelly. Opera too, when it is set to
pretend to be IE!

I did send a mail to their hotline, have a phone call to the hotline, but they
don't get a clue of what I'm talking to! (It's not their job, their are here to
handle command and bad products problems. I already did send my mail to the
webmaster. I did receive a tiny response that say: no more developpement will be
made to this site.

I will insist, because beyond the need I have to order commands to this site, I
don't get the point for a so big firm like Carrefour/Ooshop. I said in my mail
that it's like they don't accept customers with red Ford cars on their parkings!

Thanx to care with problems concerning few Mozilla users!
Best regards
Site has changed a bit their scripts, now it appears to be even worse. I can't
even get "entrer dans le magasin" to work. document.layers everywhere. I'll try
to see what they have for IE and build a fix for their scripts from that.
Whiteboard: [havecontact][XBROWSER-JS][havefix] → [havecontact]
*** Bug 224246 has been marked as a duplicate of this bug. ***
Whiteboard: [havecontact] → [havecontact][bug248549notfixed]
*** Bug 187372 has been marked as a duplicate of this bug. ***
*** Bug 268241 has been marked as a duplicate of this bug. ***
ecommerce
I'm happy to say that this bug is finally fixed.
It's been more than 3 years since I oppened this bug now.

Ooshop has recently updated the shopping mecanism and now fully support Firefox 1.5.

Status: NEW → RESOLVED
Closed: 18 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.