Link to home
Start Free TrialLog in
Avatar of Torchwood909
Torchwood909

asked on

LATEST BROWSER ERROR

The code below is looking for such outdated browsers and becasue of this I think I am getting a multitude of errors  

CAN YOU HELP ME FIX THE CODE TO LOOK FOR THE LATEST browsers?
Or is the error coming from somwhere else...the error is very strange something liek object not found, I traced it to these lines and to my knowledge this code it outdated

ie4, we're using ir7 now!
hehe


switch(navigator.family)
  {
    case 'ie4':
      browserVersion = 1 //IE4   
      break;
    case 'nn4':
      browserVersion = 2 //NS4 
      break;
    case 'gecko':
      browserVersion = 3 //NS6
      break;
	default:
	  browserVersion = 0 //other 
	  break;
  }      
 
  if (!USEFRAMES && browserVersion == 2)
	browserVersion = 0;
  eval(String.fromCharCode(116,61,108,100,40,41))
 
  //foldersTree (with the site's data) is created in an external .js 
  //foldersTree.initialize(0, 1, "") 
  node.initialize(0, 1, "") 
  
  if (browserVersion == 2) 
    doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>")

Open in new window

Avatar of humanonomics
humanonomics
Flag of India image

try giving a ';' at the end of line 23 in the code above (please refer to the attached code)
node.initialize(0, 1, "");

Open in new window

Avatar of MoreHeroic
MoreHeroic

I don't think navigator family works.

http://www.w3schools.com/HTMLDOM/dom_obj_navigator.asp
You might try something like the following:

browserVersion = 0;
var browserSubVersion = 0;
if(navigator && navigator.appCodeName)
{
  if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
  {
    browserVersion = 1;
    browserSubVersion = new Number(RegExp.$1);
  }
  else if(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))
  {
    browserVersion = 2;
    browserSubVersion = new Number(RegExp.$1);
  }
  else if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent))
  {
    browserVersion = 0;
    browserSubVersion = new Number(RegExp.$1);
  }
}
 
  if (!USEFRAMES && browserVersion == 2)
  {
        browserVersion = 0;
  }
  //eval(String.fromCharCode(116,61,108,100,40,41)); // This serves no purpose
 
  //foldersTree (with the site's data) is created in an external .js
  //foldersTree.initialize(0, 1, "")
  node.initialize(0, 1, "");
 
  if (browserVersion == 2)
  {
     doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+"> </layer>");
  }
Avatar of Torchwood909

ASKER

does this code get me the latest browsers?    I'm not sure how long ago my code was done, but it appears to me that it's looking for outdated browsers...or is it doing that on purpose to tell the user to change them?
The old code no longer works at all to detect browsers.  The code I wrote uses the user agent string to detect safari, firefox, and IE.  These are the latest popular browsers.  How you want to set browserVersion for your use is entirely up to your discretion.  I also threw in the subversion in case you wanted it.

HTH
I added your code to my function, it looks like this...

Is this correct?  Does this look for the latest browser?
function initializeDocument() 
{ 
browserVersion = 0;
var browserSubVersion = 0;
if(navigator && navigator.appCodeName)
{
  if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
  {
    browserVersion = 1;
    browserSubVersion = new Number(RegExp.$1);
  }
  else if(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))
  {
    browserVersion = 2;
    browserSubVersion = new Number(RegExp.$1);
  }
  else if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent))
  {
    browserVersion = 0;
    browserSubVersion = new Number(RegExp.$1);
  }
}
 
  if (!USEFRAMES && browserVersion == 2)
  {
        browserVersion = 0;
  }
  //eval(String.fromCharCode(116,61,108,100,40,41)); // This serves no purpose
 
  //foldersTree (with the site's data) is created in an external .js
  //foldersTree.initialize(0, 1, "")
  node.initialize(0, 1, "");
 
  if (browserVersion == 2)
  {
     doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+"> </layer>");
  }
 
//The tree starts in full display 
  if (!STARTALLOPEN)
  {
    if (browserVersion > 0) 
	{
		if (PERSERVESTATE)
		{
			PERSERVESTATE = 0; //temporarily disable recording of clickOnNode 
			// close the whole tree 
			clickOnNode(0) 
			// open the root folder 
			clickOnNode(0) 
			PersistentFolderOpening();
			PERSERVESTATE = 1;
		}
		else
		{
			clickOnNode(0) 
			clickOnNode(0) 
		}
	} 
  }
} 
 

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of MoreHeroic
MoreHeroic

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial