Closed Bug 102038 Opened 23 years ago Closed 22 years ago

wachovia.com - javascript:signOff() function doesn't work

Categories

(Tech Evangelism Graveyard :: English US, defect, P1)

x86
All
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: rgoldiez, Assigned: arun)

References

()

Details

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4) Gecko/20010913
BuildID:    2001091311

This is going to be a tuff one since it is in a secure site - wachovia online
banking site.  There is a "Logout" pic at the top left corner (in a frame) that
executes 'javascript:signOff()' when clicked.  Problem is that it doesn't log
you off the system when it is pressed.  I haven't tried it in other version of
mozilla or on mozilla on other platforms, but it works under windows (IE and
Netscape4.x) as well as Netscape 4.x on any platform (Unix'es, etc).

Reproducible: Always
Steps to Reproduce:
1. Go to https://myaccounts.wachovia.com/homepage.html (if you could logon)
2. Click the logout button (nothing happens).
3.

Actual Results:  Nothing (that's the problem).

Expected Results:  Should logoff the banking site.

Let me know if I can send you code snippets or anything I can do to you help fix
this problem.

DOes mozilla not "mimic" netscape 4?  Below is the signOff function.

function signOff() {
   if(top.isNS4){
    document.captureEvents(Event.CLICK);
	document.onclick=DoNothing;
	}
	else {
	document.all.signOffAnchor.href=""
	}
	document.SignOff.action = top.myURL + "?ExecHTML";
    document.SignOff.SessionKey.value = top.myKey;
    document.SignOff.FI.value = top.fiName;
    document.SignOff.submit();
}
rgoldiez@nc.rr.com: do you see any error in the JavaScript Console?
If so, please post them to this bug; thanks -

(Tasks | Tools | JavaScript Console; be sure to open it and clear
 accumulated errors from other websites first - )

Here is a potential problem in the signOff() function:

if(top.isNS4)
{
 document.captureEvents(Event.CLICK);
 document.onclick=DoNothing;
}
else 
{
 document.all.signOffAnchor.href=""
}




                                                                                      
When I load the page, and then key this in the URL bar:

       javascript: alert((typeof top.isNS4) + '\n' + top.isNS4);


I get:
                         number
                         0


So the signOff() function falls into the Microsoft branch (document.all),
which is non-W3C-compliant and not supported by Mozilla.


When I load the page in NN4.7 and try the same javascript: URL, 
I get:
                         number
                         1


So in NN4.7, execution falls into the right branch and the 
signOff() function works - 


Reassigning to Evangelism; bad browser-sniffing at this site -
The error that will be seen in the JavaScript Console is 
"document.all has no properties"...
Assignee: rogerl → bclary
Status: UNCONFIRMED → NEW
Component: Javascript Engine → English: US
Ever confirmed: true
Product: Browser → Tech Evangelism
QA Contact: pschwartau → zach
Version: other → unspecified
OS: Linux → All
Summary: javascript:signOff() function don't work → javascript:signOff() function doesn't work
Summary: javascript:signOff() function doesn't work → wachovia.com - javascript:signOff() function doesn't work
Priority: -- → P1
-> Banks
Assignee: bclary → aruner
Component: US General → US Banks
QA Contact: zach → bclary
I sent an email to the Wachovia online banking support email, and their response
was "Sorry, we don't support Mozilla".  So how do we pressure them to support
Mozilla?  Perhaps if someone sent them a snippit of code that would solve the
problem they'd be more willing to do something about it?  I personally don't
have the JavaScript experience to do so.
they are using ill-advised (explicit) browser detection instead of stuff like
"if (document.all)"  Anyway, this "patch" should fix it.  The patch should only
affect Mozilla/Netscape6.

lib/common.js
-------------------------------------------------
   var isNS4=0;
+  var isNS5=0;
   var isIE4=0;
-------------------------------------------------
   else { isNone = 1; }
+  if (brow == "Netscape5") { isNS5 = 1; }
   if (isNS4) { imgPath = "../"; }
-------------------------------------------------

masthead.html
-------------------------------------------------
 function signOff() {
-  if (top.isNS4){
+  if (top.isNS4 || top.isNS5){
    document.captureEvents(Event.CLICK);
-------------------------------------------------


also the important part of the signOff script is after the offending code, which
just disables the signoff button (I think).  it would probably be sufficient to do:
-------------------------------------------------
        else {
+        if (document.all) document.all.signOffAnchor.href=""
-        document.all.signOffAnchor.href=""
        }
-------------------------------------------------
*** Bug 146628 has been marked as a duplicate of this bug. ***
From: onlinebanking@wachovia.com
To: eol1@yahoo.com

Our Product Development Team has informed us that we are
implementing an update on 07/17/2002 that should correct all
system issues with Netscape 6.2 and Mozilla browsers.  Thank
you for your patience while we researched and corrected this
issue.

########################

Now lets see if it actually happens :) ... hopefully we can close this bug
FIXED - Who says evangelism doesn't work :)

I tested today and can verify both the initial bug (signoff) is fixed along with
my duplicate bug (enrollment issue).

The fix (from lib/common.js) looks like (edited for relevance):

<!--- SNIP --->

// Detection
var isNew = 0;
var isNS4 = 0;
var isIE4 = 0;
var sys = navigator.userAgent.toLowerCase();
var brow, ver;
if(navigator.appName != "Microsoft Internet Explorer") {
	brow = ((navigator.appName) + (parseInt(navigator.appVersion)));
	ver = parseInt(navigator.appVersion);
}
else {
	brow = "Microsoft Internet Explorer" + sys.substr((sys.indexOf('msie') + 5), 1);
	ver = sys.substr((sys.indexOf('msie') + 5), 1);
}
if (ver >= 5) { isNew = 1; }
else if (brow == "Netscape4") { isNS4 = 1; }
else if (brow == "Microsoft Internet Explorer4") { isIE4 = 1; }
else { isNone = 1; }
if (isNS4) { imgPath = "../"; }
else { imgPath = "./"; }
if (isNS4 || isIE4 || isNew) {
  var docObj = (isNS4) ? "document" : "document.all";
  var styleObj = (isNS4) ? "" : ".style";
}

<!-- END SNIP -->

Looks like they (instead of a Moz /NS6 specific fix like comment #5) they just
created a new var isNew, check for ANY >=5 and then if true, isNew=1;

Test was width: Moz. Beta 1.1, ID: 2002072104 win32 w2k
*** Bug 152223 has been marked as a duplicate of this bug. ***
confirming comment 8
marking FIXED
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Moving to new component
Component: US Banks → English US
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.